From eaa66830b060b4387ecb8e452dfc9f98ff176fec Mon Sep 17 00:00:00 2001 From: hkad98 Date: Tue, 30 Aug 2022 13:04:06 +0200 Subject: [PATCH 1/4] NAS-4246 tests support package --- tests-support/.gitignore | 67 ++++++++++++++++++ tests-support/Makefile | 2 + tests-support/setup.py | 15 ++++ tests-support/tests_support/__init__.py | 1 + tests-support/tests_support/vcrpy_utils.py | 82 ++++++++++++++++++++++ 5 files changed, 167 insertions(+) create mode 100644 tests-support/.gitignore create mode 100644 tests-support/Makefile create mode 100644 tests-support/setup.py create mode 100644 tests-support/tests_support/__init__.py create mode 100644 tests-support/tests_support/vcrpy_utils.py diff --git a/tests-support/.gitignore b/tests-support/.gitignore new file mode 100644 index 000000000..d899eab9c --- /dev/null +++ b/tests-support/.gitignore @@ -0,0 +1,67 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +env/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +*.egg-info/ +.installed.cfg +*.egg + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*,cover +.hypothesis/ +venv/ +.venv/ +.python-version +.pytest_cache + +# Translations +*.mo +*.pot + +# Django stuff: +*.log + +# Sphinx documentation +docs/_build/ +docs/_autosummary/ + +# PyBuilder +target/ + +#Ipython Notebook +.ipynb_checkpoints diff --git a/tests-support/Makefile b/tests-support/Makefile new file mode 100644 index 000000000..1c5559d18 --- /dev/null +++ b/tests-support/Makefile @@ -0,0 +1,2 @@ +# (C) 2022 GoodData Corporation +include ../project_common.mk diff --git a/tests-support/setup.py b/tests-support/setup.py new file mode 100644 index 000000000..8ba2729c7 --- /dev/null +++ b/tests-support/setup.py @@ -0,0 +1,15 @@ +# (C) 2022 GoodData Corporation + +from setuptools import find_packages, setup + +REQUIRES = [ + "pyyaml>=5.1", +] + +setup( + name="tests-support", + description="Tests support for GoodData Python SDK", + install_requires=REQUIRES, + packages=find_packages(exclude=["tests"]), + python_requires=">=3.7.0", +) diff --git a/tests-support/tests_support/__init__.py b/tests-support/tests_support/__init__.py new file mode 100644 index 000000000..67106a19b --- /dev/null +++ b/tests-support/tests_support/__init__.py @@ -0,0 +1 @@ +# (C) 2022 GoodData Corporation diff --git a/tests-support/tests_support/vcrpy_utils.py b/tests-support/tests_support/vcrpy_utils.py new file mode 100644 index 000000000..fd92f0e48 --- /dev/null +++ b/tests-support/tests_support/vcrpy_utils.py @@ -0,0 +1,82 @@ +# (C) 2022 GoodData Corporation +from __future__ import annotations + +import json +import typing +from typing import Any, Optional + +import vcr +import yaml + +VCR_MATCH_ON = ("method", "scheme", "host", "port", "path", "query", "body") +NON_STATIC_HEADERS = ["Date", "X-GDC-TRACE-ID"] +HEADERS_STR = "headers" +PLACEHOLDER = ["PLACEHOLDER"] + + +def get_vcr() -> vcr.VCR: + gd_vcr = vcr.VCR( + filter_headers=["authorization", "user-agent"], + match_on=VCR_MATCH_ON, + before_record_request=custom_before_request, + before_record_response=custom_before_response, + ) + + gd_vcr.register_serializer("custom", CustomSerializerYaml()) + gd_vcr.serializer = "custom" + return gd_vcr + + +class IndentDumper(yaml.SafeDumper): + @typing.no_type_check + def increase_indent(self, flow: bool = False, indentless: bool = False): + return super(IndentDumper, self).increase_indent(flow, False) + + +class CustomSerializerYaml: + def deserialize(self, cassette_string: str) -> dict[str, Any]: + cassette_dict = yaml.safe_load(cassette_string) + for interaction in cassette_dict.get("interactions", []): + request_body = interaction["request"]["body"] + response_body = interaction["response"]["body"] + if request_body is not None: + interaction["request"]["body"] = json.dumps(request_body) + if response_body is not None and response_body["string"] != "": + interaction["response"]["body"]["string"] = json.dumps(response_body["string"]) + return cassette_dict + + def serialize(self, cassette_dict: dict[str, Any]) -> str: + for interaction in cassette_dict.get("interactions", []): + request_body = interaction["request"]["body"] + response_body = interaction["response"]["body"] + if request_body is not None: + interaction["request"]["body"] = json.loads(request_body) + if response_body is not None and response_body["string"] != "": + interaction["response"]["body"]["string"] = json.loads(response_body["string"]) + return yaml.dump(cassette_dict, Dumper=IndentDumper, sort_keys=False) + + +def custom_before_request(request, headers_str: str = HEADERS_STR): + if hasattr(request, headers_str): + request.headers = {header: request.headers[header] for header in sorted(request.headers)} + return request + + +def custom_before_response( + response: dict[str, Any], + headers_str: str = HEADERS_STR, + non_static_headers: Optional[list[str]] = None, + placeholder: Optional[list[str]] = None, +): + if non_static_headers is None: + non_static_headers = NON_STATIC_HEADERS + + if placeholder is None: + placeholder = PLACEHOLDER + + if response.get(headers_str) is not None: + response[headers_str] = {header: response[headers_str][header] for header in sorted(response[headers_str])} + for header in non_static_headers: + if response[headers_str].get(header)[0] is not None: + response[headers_str][header] = placeholder + return response From 6bdf68c70bb38a09ee450ad6f731a04fe8aaeaf1 Mon Sep 17 00:00:00 2001 From: hkad98 Date: Mon, 29 Aug 2022 17:27:11 +0200 Subject: [PATCH 2/4] NAS-4246 upgrade dependencies version --- gooddata-fdw/test-requirements.txt | 7 ++++--- gooddata-pandas/test-requirements.txt | 9 +++++---- gooddata-sdk/test-requirements.txt | 13 +++++++------ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/gooddata-fdw/test-requirements.txt b/gooddata-fdw/test-requirements.txt index 4760d0a17..3ca60bbc2 100644 --- a/gooddata-fdw/test-requirements.txt +++ b/gooddata-fdw/test-requirements.txt @@ -1,4 +1,5 @@ -pytest~=6.2.4 -pytest-cov~=2.12.1 -vcrpy~=4.1.1 +pytest~=7.1.2 +pytest-cov~=3.0.0 +vcrpy~=4.2.0 pyyaml +../tests-support diff --git a/gooddata-pandas/test-requirements.txt b/gooddata-pandas/test-requirements.txt index b851ee72a..e5f8ddfe6 100644 --- a/gooddata-pandas/test-requirements.txt +++ b/gooddata-pandas/test-requirements.txt @@ -1,5 +1,6 @@ -pytest~=6.2.4 -pytest-cov~=2.12.1 -vcrpy~=4.1.1 -python-dotenv~=0.19.0 +pytest~=7.1.2 +pytest-cov~=3.0.0 +vcrpy~=4.2.0 +python-dotenv~=0.20.0 pyyaml +../tests-support diff --git a/gooddata-sdk/test-requirements.txt b/gooddata-sdk/test-requirements.txt index d563aa8db..784797574 100644 --- a/gooddata-sdk/test-requirements.txt +++ b/gooddata-sdk/test-requirements.txt @@ -1,8 +1,9 @@ -pytest~=6.2.4 -pytest-cov~=2.12.1 -pytest-snapshot==0.6.1 -pytest-order~=1.0.0 -vcrpy~=4.1.1 -python-dotenv~=0.19.0 +pytest~=7.1.2 +pytest-cov~=3.0.0 +pytest-snapshot==0.9.0 +pytest-order~=1.0.1 +vcrpy~=4.2.0 +python-dotenv~=0.20.0 attrs==21.4.0 cattrs==22.1.0 +../tests-support From e452190eb21b155c13aa41871de3304f95433be5 Mon Sep 17 00:00:00 2001 From: hkad98 Date: Mon, 29 Aug 2022 17:29:25 +0200 Subject: [PATCH 3/4] NAS-4246 change (de)serialization for cassettes --- gooddata-fdw/tests/__init__.py | 2 - .../execute_compute_table_all_columns.json | 184 --- .../execute_compute_table_metrics_only.json | 184 --- ...ompute_table_with_reduced_granularity.json | 184 --- .../fixtures/execute_insight_all_columns.json | 272 ----- .../execute_insight_some_columns.json | 272 ----- .../execute/test_execute_compute_table.py | 13 +- .../tests/execute/test_execute_insight.py | 11 +- .../import_compute_without_restrictions.json | 269 ----- .../import_insights_without_restrictions.json | 357 ------ .../test_import_compute.py | 9 +- .../test_import_insights.py | 10 +- gooddata-pandas/tests/__init__.py | 4 +- .../dataframe_for_exec_def_one_dim1.json | 888 -------------- .../dataframe_for_exec_def_one_dim2.json | 888 -------------- .../dataframe_for_exec_def_totals1.json | 360 ------ .../dataframe_for_exec_def_totals2.json | 360 ------ .../dataframe_for_exec_def_totals3.json | 360 ------ .../dataframe_for_exec_def_totals4.json | 360 ------ .../dataframe_for_exec_def_two_dim1.json | 536 --------- .../dataframe_for_exec_def_two_dim2.json | 536 --------- .../dataframe_for_exec_def_two_dim3.json | 360 ------ .../fixtures/dataframe_for_insight.json | 536 --------- .../fixtures/dataframe_for_insight_date.json | 536 --------- .../dataframe_for_insight_no_index.json | 536 --------- .../fixtures/dataframe_for_items.json | 448 ------- .../dataframe_for_items_no_index.json | 448 ------- .../fixtures/empty_indexed_dataframe.json | 448 ------- .../fixtures/empty_not_indexed_dataframe.json | 448 ------- ...ulti_index_filtered_metrics_and_label.json | 448 ------- ...ndex_filtered_metrics_and_label_reuse.json | 448 ------- .../fixtures/multi_index_metrics.json | 448 ------- .../multi_index_metrics_and_label.json | 448 ------- ...t_indexed_filtered_metrics_and_labels.json | 448 ------- .../fixtures/not_indexed_metrics.json | 448 ------- .../not_indexed_metrics_and_labels.json | 448 ------- ...mple_index_filtered_metrics_and_label.json | 448 ------- .../fixtures/simple_index_metrics.json | 448 ------- .../simple_index_metrics_and_label.json | 448 ------- .../simple_index_metrics_no_duplicate.json | 448 ------- .../dataframe/test_dataframe_for_exec_def.py | 27 +- .../dataframe/test_dataframe_for_insight.py | 13 +- .../dataframe/test_dataframe_for_items.py | 11 +- .../tests/dataframe/test_indexed_dataframe.py | 24 +- .../dataframe/test_not_indexed_dataframe.py | 15 +- .../fixtures/multi_index_filtered_series.json | 448 ------- .../fixtures/multi_index_metric_series.json | 448 ------- .../not_indexed_filtered_metric_series.json | 891 -------------- .../fixtures/not_indexed_label_series.json | 448 ------- ...indexed_label_series_with_granularity.json | 448 ------- .../fixtures/not_indexed_metric_series.json | 448 ------- ...ndexed_metric_series_with_granularity.json | 448 ------- .../simple_index_filtered_series.json | 448 ------- .../fixtures/simple_index_label_series.json | 448 ------- .../fixtures/simple_index_metric_series.json | 448 ------- .../tests/series/test_indexed_series.py | 17 +- .../tests/series/test_not_indexed_series.py | 17 +- gooddata-sdk/tests/__init__.py | 4 +- .../fixtures/data_sources/bigquery.json | 263 ----- .../declarative_data_sources.json | 181 --- .../data_sources/demo_data_source_tables.json | 93 -- .../data_sources/demo_data_sources_list.json | 93 -- .../demo_delete_declarative_data_sources.json | 257 ---- .../demo_generate_logical_model.json | 184 --- ...load_and_put_declarative_data_sources.json | 509 -------- .../demo_put_declarative_data_sources.json | 345 ------ ...t_declarative_data_sources_connection.json | 436 ------- .../demo_register_upload_notification.json | 357 ------ .../data_sources/demo_scan_schemata.json | 93 -- ...tore_and_load_and_put_declarative_pdm.json | 943 --------------- .../demo_store_declarative_data_sources.json | 521 --------- .../demo_test_declarative_data_sources.json | 275 ----- .../demo_test_get_declarative_pdm.json | 93 -- .../demo_test_put_declarative_pdm.json | 257 ---- ...emo_test_scan_and_put_declarative_pdm.json | 615 ---------- .../data_sources/demo_test_scan_model.json | 187 --- ...emo_test_scan_model_with_table_prefix.json | 96 -- .../catalog/fixtures/data_sources/dremio.json | 263 ----- .../catalog/fixtures/data_sources/patch.json | 706 ----------- .../fixtures/data_sources/redshift.json | 263 ----- .../fixtures/data_sources/snowflake.json | 263 ----- .../data_sources/test_create_update.json | 706 ----------- .../fixtures/data_sources/vertica.json | 263 ----- .../fixtures/organization/organization.json | 175 --- .../fixtures/organization/update_name.json | 1037 ----------------- .../organization/update_oidc_settings.json | 1037 ----------------- .../get_declarative_permissions.json | 181 --- .../put_declarative_permissions.json | 433 ------- .../fixtures/users/create_delete_user.json | 615 ---------- .../users/create_delete_user_group.json | 615 ---------- .../users/get_declarative_user_groups.json | 181 --- .../fixtures/users/get_declarative_users.json | 181 --- .../get_declarative_users_user_groups.json | 181 --- .../catalog/fixtures/users/get_user.json | 93 -- .../fixtures/users/get_user_group.json | 93 -- .../fixtures/users/list_user_groups.json | 93 -- .../catalog/fixtures/users/list_users.json | 93 -- .../load_and_put_declarative_user_groups.json | 934 --------------- .../users/load_and_put_declarative_users.json | 682 ----------- ...and_put_declarative_users_user_groups.json | 764 ------------ .../users/put_declarative_user_groups.json | 764 ------------ .../fixtures/users/put_declarative_users.json | 512 -------- .../put_declarative_users_user_groups.json | 594 ---------- .../users/store_declarative_user_groups.json | 521 --------- .../users/store_declarative_users.json | 521 --------- .../store_declarative_users_user_groups.json | 521 --------- .../catalog/fixtures/users/update_user.json | 706 ----------- .../fixtures/users/update_user_group.json | 715 ------------ .../fixtures/workspaces/demo_catalog.json | 269 ----- .../workspaces/demo_catalog_availability.json | 360 ------ .../demo_catalog_list_attributes.json | 93 -- .../workspaces/demo_catalog_list_facts.json | 93 -- .../workspaces/demo_catalog_list_labels.json | 93 -- .../workspaces/demo_catalog_list_metrics.json | 93 -- .../workspaces/demo_create_workspace.json | 703 ----------- .../demo_declarative_workspaces.json | 181 --- .../demo_delete_non_existing_workspace.json | 269 ----- .../demo_delete_parent_workspace.json | 269 ----- .../workspaces/demo_delete_workspace.json | 703 ----------- .../demo_get_declarative_analytics_model.json | 93 -- .../workspaces/demo_get_declarative_ldm.json | 93 -- .../demo_get_declarative_workspace.json | 181 --- ...et_declarative_workspace_data_filters.json | 181 --- .../demo_get_declarative_workspaces.json | 93 -- ...get_declarative_workspaces_snake_case.json | 93 -- .../demo_get_dependent_entities_graph.json | 93 -- ...dent_entities_graph_from_entry_points.json | 96 -- .../workspaces/demo_get_workspace.json | 181 --- ...and_modify_ds_and_put_declarative_ldm.json | 867 -------------- ...d_and_put_declarative_analytics_model.json | 949 --------------- .../demo_load_and_put_declarative_ldm.json | 779 ------------- ...mo_load_and_put_declarative_workspace.json | 685 ----------- ...ut_declarative_workspace_data_filters.json | 685 ----------- ...o_load_and_put_declarative_workspaces.json | 597 ---------- .../demo_put_declarative_analytics_model.json | 779 ------------- .../workspaces/demo_put_declarative_ldm.json | 609 ---------- .../demo_put_declarative_workspace.json | 697 ----------- ...ut_declarative_workspace_data_filters.json | 515 -------- .../demo_put_declarative_workspaces.json | 515 -------- ...emo_store_declarative_analytics_model.json | 521 --------- .../demo_store_declarative_ldm.json | 521 --------- .../demo_store_declarative_workspace.json | 521 --------- ...re_declarative_workspace_data_filters.json | 521 --------- .../demo_store_declarative_workspaces.json | 521 --------- .../demo_update_workspace_invalid.json | 445 ------- .../demo_update_workspace_valid.json | 891 -------------- .../workspaces/demo_workspace_list.json | 93 -- .../tests/catalog/test_catalog_data_source.py | 62 +- .../catalog/test_catalog_organization.py | 13 +- .../tests/catalog/test_catalog_permission.py | 11 +- .../catalog/test_catalog_user_service.py | 47 +- .../tests/catalog/test_catalog_workspace.py | 55 +- .../catalog/test_catalog_workspace_content.py | 43 +- .../tests/support/fixtures/is_available.json | 93 -- .../fixtures/is_available_no_access.json | 90 -- .../fixtures/wait_till_available_no_wait.json | 93 -- gooddata-sdk/tests/support/test_support.py | 13 +- .../table_with_attribute_and_metric.json | 184 --- ...able_with_attribute_metric_and_filter.json | 184 --- .../fixtures/table_with_just_attribute.json | 184 --- .../fixtures/table_with_just_metric.json | 184 --- gooddata-sdk/tests/table/test_table.py | 15 +- project_common.mk | 2 +- 163 files changed, 213 insertions(+), 57303 deletions(-) delete mode 100644 gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.json delete mode 100644 gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.json delete mode 100644 gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.json delete mode 100644 gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.json delete mode 100644 gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.json delete mode 100644 gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.json delete mode 100644 gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.json delete mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.json delete mode 100644 gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/multi_index_metric_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_label_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.json delete mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.json delete mode 100644 gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/simple_index_label_series.json delete mode 100644 gooddata-pandas/tests/series/fixtures/simple_index_metric_series.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/patch.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/organization/organization.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/organization/update_name.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_user.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_user_group.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/list_users.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/update_user.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/users/update_user_group.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_availability.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_attributes.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_facts.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_labels.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_metrics.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_analytics_model.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_ldm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph_from_entry_points.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_modify_ds_and_put_declarative_ldm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_analytics_model.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_ldm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_analytics_model.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_ldm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_analytics_model.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_ldm.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.json delete mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.json delete mode 100644 gooddata-sdk/tests/support/fixtures/is_available.json delete mode 100644 gooddata-sdk/tests/support/fixtures/is_available_no_access.json delete mode 100644 gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.json delete mode 100644 gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.json delete mode 100644 gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.json delete mode 100644 gooddata-sdk/tests/table/fixtures/table_with_just_attribute.json delete mode 100644 gooddata-sdk/tests/table/fixtures/table_with_just_metric.json diff --git a/gooddata-fdw/tests/__init__.py b/gooddata-fdw/tests/__init__.py index b00f7b26c..a6fa20163 100644 --- a/gooddata-fdw/tests/__init__.py +++ b/gooddata-fdw/tests/__init__.py @@ -1,3 +1 @@ # (C) 2021 GoodData Corporation - -VCR_MATCH_ON = ("method", "scheme", "host", "port", "path", "query", "body") diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.json b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.json deleted file mode 100644 index e7d339bee..000000000 --- a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"products_category\"}, {\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"products_product_name\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"quantity\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"percent_revenue_in_category\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"revenue\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"products_category\", \"products_product_name\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:06 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "92499f6c7259800b" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "1025" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"products_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"products_product_name\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"quantity\"},{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"percent_revenue_in_category\",\"format\":\"#,##0.0%\",\"name\":\"% Revenue in Category\"},{\"localIdentifier\":\"revenue\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"07174cc7c1b37387e1c9f1956b1bbfbbd06195ac\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/07174cc7c1b37387e1c9f1956b1bbfbbd06195ac?offset=0%2C0&limit=512%2C256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:07 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "5c5bfa6fd9a8c21a" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "3876" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[[449.0,14172.94,0.17725916115332446,16744.48],[172.0,7085.17,0.07819070840973427,7386.15],[727.0,15526.79,0.18452791227743862,17431.11],[854.0,15245.54,0.17461697017263958,16494.89],[557.0,16808.84,0.19551673364684496,18469.15],[1096.0,17039.34,0.1898885143400181,17937.49],[149.0,14153.1,0.15973175146727148,14421.37],[253.0,12370.9,0.14394284849088326,12995.87],[571.0,40159.21,0.48763974231358437,44026.52],[735.0,17357.08,0.20868565772826095,18841.17],[144.0,4569.47,0.06838997246733888,4725.73],[258.0,16834.96,0.25553420960278433,17657.35],[386.0,37281.63,0.5833271466249879,40307.76],[542.0,5977.51,0.09274867130488894,6408.91],[147.0,30956.84,0.16556859291478074,34697.71],[58.0,29355.68,0.13199641470235435,27662.09],[63.0,43015.28,0.22793065968694112,47766.74],[71.0,92554.17,0.47450433269592374,99440.44]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Polo Shirt\",\"primaryLabelValue\":\"Polo Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Pullover\",\"primaryLabelValue\":\"Pullover\"}},{\"attributeHeader\":{\"labelValue\":\"Shorts\",\"primaryLabelValue\":\"Shorts\"}},{\"attributeHeader\":{\"labelValue\":\"Skirt\",\"primaryLabelValue\":\"Skirt\"}},{\"attributeHeader\":{\"labelValue\":\"Slacks\",\"primaryLabelValue\":\"Slacks\"}},{\"attributeHeader\":{\"labelValue\":\"T-Shirt\",\"primaryLabelValue\":\"T-Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Artego\",\"primaryLabelValue\":\"Artego\"}},{\"attributeHeader\":{\"labelValue\":\"Compglass\",\"primaryLabelValue\":\"Compglass\"}},{\"attributeHeader\":{\"labelValue\":\"Magnemo\",\"primaryLabelValue\":\"Magnemo\"}},{\"attributeHeader\":{\"labelValue\":\"PortaCode\",\"primaryLabelValue\":\"PortaCode\"}},{\"attributeHeader\":{\"labelValue\":\"Applica\",\"primaryLabelValue\":\"Applica\"}},{\"attributeHeader\":{\"labelValue\":\"ChalkTalk\",\"primaryLabelValue\":\"ChalkTalk\"}},{\"attributeHeader\":{\"labelValue\":\"Optique\",\"primaryLabelValue\":\"Optique\"}},{\"attributeHeader\":{\"labelValue\":\"Peril\",\"primaryLabelValue\":\"Peril\"}},{\"attributeHeader\":{\"labelValue\":\"Biolid\",\"primaryLabelValue\":\"Biolid\"}},{\"attributeHeader\":{\"labelValue\":\"Elentrix\",\"primaryLabelValue\":\"Elentrix\"}},{\"attributeHeader\":{\"labelValue\":\"Integres\",\"primaryLabelValue\":\"Integres\"}},{\"attributeHeader\":{\"labelValue\":\"Neptide\",\"primaryLabelValue\":\"Neptide\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":2}},{\"measureHeader\":{\"measureIndex\":3}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[18,4],\"offset\":[0,0],\"total\":[18,4]}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.json b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.json deleted file mode 100644 index 112a04398..000000000 --- a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"quantity\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"percent_revenue_in_category\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"revenue\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:08 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "05b11e073465485a" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "400" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"quantity\"},{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"percent_revenue_in_category\",\"format\":\"#,##0.0%\",\"name\":\"% Revenue in Category\"},{\"localIdentifier\":\"revenue\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"ecc9bcf82ec50f4993e41be574689051c15457e1\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ecc9bcf82ec50f4993e41be574689051c15457e1?offset=0&limit=256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:08 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "ccd7b11b458b4155" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "308" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[7232.0,430464.45,1.0,463414.93],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":2}},{\"measureHeader\":{\"measureIndex\":3}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[4],\"offset\":[0],\"total\":[4]}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.json b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.json deleted file mode 100644 index 97e52c4c9..000000000 --- a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"products_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"quantity\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"revenue\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"products_category\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:08 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "d0f3198ef78f97a5" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "605" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"products_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"quantity\"},{\"localIdentifier\":\"revenue\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"ad0593ce351dd2c86bab9d55b048e2131d256c09\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ad0593ce351dd2c86bab9d55b048e2131d256c09?offset=0%2C0&limit=512%2C256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:08 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "ea5477d30b65373b" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "618" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[[3855.0,94463.27],[1708.0,90284.93],[1330.0,69099.75],[339.0,209566.98]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[4,2],\"offset\":[0,0],\"total\":[4,2]}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.json b/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.json deleted file mode 100644 index 5e90ded01..000000000 --- a/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:08 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "958f0c8bf594ca09" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"title\":\"Revenue and Quantity by Product and Category\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"}},\"id\":\"revenue_and_quantity_by_product_and_category\",\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},\"included\":[{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}, {\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"AVG\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"06bc6b3b9949466494e4f594c11f1bff\", \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:09 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "9439a32f1a95e8fd" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "1132" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\"},{\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\"},{\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"format\":\"#,##0.0%\",\"name\":\"% Revenue in Category\"},{\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"78e083f7917f494d54530ee06bfb7af44f72831c\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/78e083f7917f494d54530ee06bfb7af44f72831c?offset=0%2C0&limit=512%2C256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:09 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "35643b606ea6f8df" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "4052" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[[449.0,41.320524781341106,0.17725916115332446,16744.48],[172.0,46.30830065359477,0.07819070840973427,7386.15],[727.0,26.586969178082192,0.18452791227743862,17431.11],[854.0,21.873084648493546,0.17461697017263958,16494.89],[557.0,36.620566448801746,0.19551673364684496,18469.15],[1096.0,18.500912052117265,0.1898885143400181,17937.49],[149.0,115.06585365853658,0.15973175146727148,14421.37],[253.0,57.807943925233644,0.14394284849088326,12995.87],[571.0,86.17856223175966,0.48763974231358437,44026.52],[735.0,28.59485996705107,0.20868565772826095,18841.17],[144.0,37.45467213114754,0.06838997246733888,4725.73],[258.0,76.52254545454545,0.25553420960278433,17657.35],[386.0,114.36082822085889,0.5833271466249879,40307.76],[542.0,12.718106382978723,0.09274867130488894,6408.91],[147.0,260.141512605042,0.16556859291478074,34697.71],[58.0,553.8807547169812,0.13199641470235435,27662.09],[63.0,811.6090566037736,0.22793065968694112,47766.74],[71.0,1568.7147457627118,0.47450433269592374,99440.44]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Polo Shirt\",\"primaryLabelValue\":\"Polo Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Pullover\",\"primaryLabelValue\":\"Pullover\"}},{\"attributeHeader\":{\"labelValue\":\"Shorts\",\"primaryLabelValue\":\"Shorts\"}},{\"attributeHeader\":{\"labelValue\":\"Skirt\",\"primaryLabelValue\":\"Skirt\"}},{\"attributeHeader\":{\"labelValue\":\"Slacks\",\"primaryLabelValue\":\"Slacks\"}},{\"attributeHeader\":{\"labelValue\":\"T-Shirt\",\"primaryLabelValue\":\"T-Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Artego\",\"primaryLabelValue\":\"Artego\"}},{\"attributeHeader\":{\"labelValue\":\"Compglass\",\"primaryLabelValue\":\"Compglass\"}},{\"attributeHeader\":{\"labelValue\":\"Magnemo\",\"primaryLabelValue\":\"Magnemo\"}},{\"attributeHeader\":{\"labelValue\":\"PortaCode\",\"primaryLabelValue\":\"PortaCode\"}},{\"attributeHeader\":{\"labelValue\":\"Applica\",\"primaryLabelValue\":\"Applica\"}},{\"attributeHeader\":{\"labelValue\":\"ChalkTalk\",\"primaryLabelValue\":\"ChalkTalk\"}},{\"attributeHeader\":{\"labelValue\":\"Optique\",\"primaryLabelValue\":\"Optique\"}},{\"attributeHeader\":{\"labelValue\":\"Peril\",\"primaryLabelValue\":\"Peril\"}},{\"attributeHeader\":{\"labelValue\":\"Biolid\",\"primaryLabelValue\":\"Biolid\"}},{\"attributeHeader\":{\"labelValue\":\"Elentrix\",\"primaryLabelValue\":\"Elentrix\"}},{\"attributeHeader\":{\"labelValue\":\"Integres\",\"primaryLabelValue\":\"Integres\"}},{\"attributeHeader\":{\"labelValue\":\"Neptide\",\"primaryLabelValue\":\"Neptide\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":2}},{\"measureHeader\":{\"measureIndex\":3}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[18,4],\"offset\":[0,0],\"total\":[18,4]}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.json b/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.json deleted file mode 100644 index 12ff36cfb..000000000 --- a/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.json +++ /dev/null @@ -1,272 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:09 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "22114e5fe7392a64" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"title\":\"Revenue and Quantity by Product and Category\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"}},\"id\":\"revenue_and_quantity_by_product_and_category\",\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},\"included\":[{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}, {\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"AVG\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"06bc6b3b9949466494e4f594c11f1bff\", \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:09 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "67b4a1027e88b999" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "1132" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\"},{\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\"},{\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"format\":\"#,##0.0%\",\"name\":\"% Revenue in Category\"},{\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"78e083f7917f494d54530ee06bfb7af44f72831c\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/78e083f7917f494d54530ee06bfb7af44f72831c?offset=0%2C0&limit=512%2C256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:09 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Server": [ - "nginx" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "bd2fe32b4aa23bf3" - ], - "Content-Type": [ - "application/json" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Content-Length": [ - "4052" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[[449.0,41.320524781341106,0.17725916115332446,16744.48],[172.0,46.30830065359477,0.07819070840973427,7386.15],[727.0,26.586969178082192,0.18452791227743862,17431.11],[854.0,21.873084648493546,0.17461697017263958,16494.89],[557.0,36.620566448801746,0.19551673364684496,18469.15],[1096.0,18.500912052117265,0.1898885143400181,17937.49],[149.0,115.06585365853658,0.15973175146727148,14421.37],[253.0,57.807943925233644,0.14394284849088326,12995.87],[571.0,86.17856223175966,0.48763974231358437,44026.52],[735.0,28.59485996705107,0.20868565772826095,18841.17],[144.0,37.45467213114754,0.06838997246733888,4725.73],[258.0,76.52254545454545,0.25553420960278433,17657.35],[386.0,114.36082822085889,0.5833271466249879,40307.76],[542.0,12.718106382978723,0.09274867130488894,6408.91],[147.0,260.141512605042,0.16556859291478074,34697.71],[58.0,553.8807547169812,0.13199641470235435,27662.09],[63.0,811.6090566037736,0.22793065968694112,47766.74],[71.0,1568.7147457627118,0.47450433269592374,99440.44]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Polo Shirt\",\"primaryLabelValue\":\"Polo Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Pullover\",\"primaryLabelValue\":\"Pullover\"}},{\"attributeHeader\":{\"labelValue\":\"Shorts\",\"primaryLabelValue\":\"Shorts\"}},{\"attributeHeader\":{\"labelValue\":\"Skirt\",\"primaryLabelValue\":\"Skirt\"}},{\"attributeHeader\":{\"labelValue\":\"Slacks\",\"primaryLabelValue\":\"Slacks\"}},{\"attributeHeader\":{\"labelValue\":\"T-Shirt\",\"primaryLabelValue\":\"T-Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Artego\",\"primaryLabelValue\":\"Artego\"}},{\"attributeHeader\":{\"labelValue\":\"Compglass\",\"primaryLabelValue\":\"Compglass\"}},{\"attributeHeader\":{\"labelValue\":\"Magnemo\",\"primaryLabelValue\":\"Magnemo\"}},{\"attributeHeader\":{\"labelValue\":\"PortaCode\",\"primaryLabelValue\":\"PortaCode\"}},{\"attributeHeader\":{\"labelValue\":\"Applica\",\"primaryLabelValue\":\"Applica\"}},{\"attributeHeader\":{\"labelValue\":\"ChalkTalk\",\"primaryLabelValue\":\"ChalkTalk\"}},{\"attributeHeader\":{\"labelValue\":\"Optique\",\"primaryLabelValue\":\"Optique\"}},{\"attributeHeader\":{\"labelValue\":\"Peril\",\"primaryLabelValue\":\"Peril\"}},{\"attributeHeader\":{\"labelValue\":\"Biolid\",\"primaryLabelValue\":\"Biolid\"}},{\"attributeHeader\":{\"labelValue\":\"Elentrix\",\"primaryLabelValue\":\"Elentrix\"}},{\"attributeHeader\":{\"labelValue\":\"Integres\",\"primaryLabelValue\":\"Integres\"}},{\"attributeHeader\":{\"labelValue\":\"Neptide\",\"primaryLabelValue\":\"Neptide\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":2}},{\"measureHeader\":{\"measureIndex\":3}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[18,4],\"offset\":[0,0],\"total\":[18,4]}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/execute/test_execute_compute_table.py b/gooddata-fdw/tests/execute/test_execute_compute_table.py index 3ef169bca..822af653d 100644 --- a/gooddata-fdw/tests/execute/test_execute_compute_table.py +++ b/gooddata-fdw/tests/execute/test_execute_compute_table.py @@ -1,18 +1,17 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_fdw import GoodDataForeignDataWrapper -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "execute_compute_table_all_columns.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "execute_compute_table_all_columns.yaml")) def test_execute_compute_table_all_columns(fdw_options_for_compute_table, test_compute_table_columns): fdw = GoodDataForeignDataWrapper(fdw_options_for_compute_table, test_compute_table_columns) @@ -26,7 +25,7 @@ def test_execute_compute_table_all_columns(fdw_options_for_compute_table, test_c assert column in first_row -@gd_vcr.use_cassette(str(_fixtures_dir / "execute_compute_table_metrics_only.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "execute_compute_table_metrics_only.yaml")) def test_execute_compute_table_metrics_only(fdw_options_for_compute_table, test_compute_table_columns): fdw = GoodDataForeignDataWrapper(fdw_options_for_compute_table, test_compute_table_columns) @@ -41,7 +40,7 @@ def test_execute_compute_table_metrics_only(fdw_options_for_compute_table, test_ assert column in first_row -@gd_vcr.use_cassette(str(_fixtures_dir / "execute_compute_table_with_reduced_granularity.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "execute_compute_table_with_reduced_granularity.yaml")) def test_execute_compute_table_with_reduced_granularity(fdw_options_for_compute_table, test_compute_table_columns): fdw = GoodDataForeignDataWrapper(fdw_options_for_compute_table, test_compute_table_columns) diff --git a/gooddata-fdw/tests/execute/test_execute_insight.py b/gooddata-fdw/tests/execute/test_execute_insight.py index a8441037e..c255f3b9d 100644 --- a/gooddata-fdw/tests/execute/test_execute_insight.py +++ b/gooddata-fdw/tests/execute/test_execute_insight.py @@ -1,18 +1,17 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_fdw import GoodDataForeignDataWrapper -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "execute_insight_all_columns.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "execute_insight_all_columns.yaml")) def test_execute_insight_all_columns(fdw_options_for_insight, test_insight_columns): fdw = GoodDataForeignDataWrapper(fdw_options_for_insight, test_insight_columns) @@ -25,7 +24,7 @@ def test_execute_insight_all_columns(fdw_options_for_insight, test_insight_colum assert column in first_row -@gd_vcr.use_cassette(str(_fixtures_dir / "execute_insight_some_columns.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "execute_insight_some_columns.yaml")) def test_execute_insight_some_columns(fdw_options_for_insight, test_insight_columns): fdw = GoodDataForeignDataWrapper(fdw_options_for_insight, test_insight_columns) diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.json b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.json deleted file mode 100644 index 885a880f7..000000000 --- a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:10 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "7f93546991081363" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:10 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "4fc454faf46dc80c" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:10 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "ecff863e079e6ec6" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.json b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.json deleted file mode 100644 index efe601cb1..000000000 --- a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.json +++ /dev/null @@ -1,357 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:10 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "57bc28c913144fed" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:10 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "12f5b988eb4550aa" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:11 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "d55181d7d802bde0" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects?include=ALL&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:11 GMT" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Server": [ - "nginx" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Connection": [ - "keep-alive" - ], - "X-GDC-TRACE-ID": [ - "d9781630519a41a7" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/campaign_spend\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"campaign_spend\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"},{\"id\":\"campaign_name\",\"type\":\"label\"},{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Customers Trend\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"}},\"id\":\"customers_trend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"},{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}]},\"datasets\":{\"data\":[{\"id\":\"date\",\"type\":\"dataset\"}]},\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"% Revenue per Product by Customer and Category\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"}},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/percent_revenue_per_product_by_customer_and_category\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"},{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Percentage of Customers by Region\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"}},\"id\":\"percentage_of_customers_by_region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/percentage_of_customers_by_region\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}]},\"datasets\":{\"data\":[{\"id\":\"date\",\"type\":\"dataset\"}]},\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Product Breakdown\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"}},\"id\":\"product_breakdown\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_breakdown\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Product Categories Pie Chart\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"}},\"id\":\"product_categories_pie_chart\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_categories_pie_chart\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Product Revenue Comparison (over previous period)\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"}},\"id\":\"product_revenue_comparison-over_previous_period\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_revenue_comparison-over_previous_period\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.year\",\"type\":\"attribute\"}]},\"metrics\":{\"data\":[{\"id\":\"revenue\",\"type\":\"metric\"}]},\"datasets\":{\"data\":[{\"id\":\"date\",\"type\":\"dataset\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Product Saleability\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"}},\"id\":\"product_saleability\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_saleability\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"amount_of_orders\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Revenue and Quantity by Product and Category\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"}},\"id\":\"revenue_and_quantity_by_product_and_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Revenue by Category Trend\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"}},\"id\":\"revenue_by_category_trend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_by_category_trend\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue\",\"type\":\"metric\"}]},\"datasets\":{\"data\":[{\"id\":\"date\",\"type\":\"dataset\"}]},\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Revenue by Product\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"}},\"id\":\"revenue_by_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_by_product\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Revenue per $ vs Spend by Campaign\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"}},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_per_usd_vs_spend_by_campaign\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"campaign_spend\",\"type\":\"metric\"},{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Revenue Trend\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"}},\"id\":\"revenue_trend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_trend\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"amount_of_orders\",\"type\":\"metric\"}]},\"datasets\":{\"data\":[{\"id\":\"date\",\"type\":\"dataset\"}]},\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"}},\"id\":\"top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/top_10_customers\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue_top_10\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"},{\"id\":\"state\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},{\"attributes\":{\"title\":\"Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"}},\"id\":\"top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/top_10_products\"},\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"revenue_top_10\",\"type\":\"metric\"}]},\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"}],\"included\":[{\"attributes\":{\"title\":\"# of Orders\",\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"# of Active Customers\",\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects?include=ALL&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects?include=ALL&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py b/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py index da2c894c4..bfa0afcc0 100644 --- a/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py +++ b/gooddata-fdw/tests/import_foreign_schema/test_import_compute.py @@ -1,18 +1,17 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_fdw import GoodDataForeignDataWrapper as fdw -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "import_compute_without_restrictions.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "import_compute_without_restrictions.yaml")) def test_import_compute_without_restrictions(test_config): tables = fdw.import_schema( schema=test_config["workspace"], diff --git a/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py b/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py index 69cde348f..c3e28d6de 100644 --- a/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py +++ b/gooddata-fdw/tests/import_foreign_schema/test_import_insights.py @@ -1,19 +1,19 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_fdw import GoodDataForeignDataWrapper as fdw -from tests import VCR_MATCH_ON from tests.import_foreign_schema import _tables_to_dict +gd_vcr = get_vcr() + + _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "import_insights_without_restrictions.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "import_insights_without_restrictions.yaml")) def test_import_insights_without_restrictions(test_config): tables = fdw.import_schema( schema=test_config["workspace"], diff --git a/gooddata-pandas/tests/__init__.py b/gooddata-pandas/tests/__init__.py index dcc4c6099..c4a96b3ce 100644 --- a/gooddata-pandas/tests/__init__.py +++ b/gooddata-pandas/tests/__init__.py @@ -1,7 +1,7 @@ # (C) 2021 GoodData Corporation -from dotenv import dotenv_values, find_dotenv +from __future__ import annotations -VCR_MATCH_ON = ("method", "scheme", "host", "port", "path", "query", "body") +from dotenv import dotenv_values, find_dotenv def _load_test_env(): diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.json deleted file mode 100644 index d9ac74b80..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.json +++ /dev/null @@ -1,888 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"region\", \"state\", \"product_category\", \"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "173fc3b4172494b1" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1057" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"3da419183dc82be4def489c9f255122afc9f03e6\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=0&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ccbcaf39af4379fb" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27463" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41,963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72,1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07,802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06,989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86,1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96,2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37,586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19,102.03,102.03,60.78,60.78,13.9,13.9,3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25,236.34,393.47,184.82,281.19,218.89,218.89,1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42,871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100],\"offset\":[0],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=100&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "7214fa99f4d8f924" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27695" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52,220.46,360.16,161.73,161.73,1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84,5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01,1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62,652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42,527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84,541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06,2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78,8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35,1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75,1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18,1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100],\"offset\":[100],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=200&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "81a6cf88d1ca3560" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27287" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63,408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07,1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18,772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89,1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6,1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52,9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23,3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6,571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09,18.7,18.7,790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71,2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86,11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45,1478.95,1514.89],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100],\"offset\":[200],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=300&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3154c9c668c9a472" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "17067" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[1839.72,2325.39,1030.04,1366.28,5663.31,5663.31,638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72,316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09,597.1,701.11,596.79,596.79,190.5,373.65,739.23,969.9,567.73,893.17,137.81,172.97,462.58,523.96,540.36,540.36,326.03,440.93,1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55,1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93,978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[64],\"offset\":[300],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e4b756e87d102194" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1861" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"3da419183dc82be4def489c9f255122afc9f03e6\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"region\",\"state\",\"product_category\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=0&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "97dba148d1776434" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27463" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41,963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72,1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07,802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06,989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86,1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96,2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37,586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19,102.03,102.03,60.78,60.78,13.9,13.9,3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25,236.34,393.47,184.82,281.19,218.89,218.89,1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42,871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100],\"offset\":[0],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=100&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "5714455b0777ad05" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27695" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52,220.46,360.16,161.73,161.73,1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84,5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01,1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62,652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42,527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84,541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06,2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78,8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35,1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75,1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18,1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100],\"offset\":[100],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=200&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "cd7795f4de9112a5" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27287" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63,408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07,1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18,772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89,1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6,1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52,9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23,3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6,571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09,18.7,18.7,790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71,2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86,11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45,1478.95,1514.89],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100],\"offset\":[200],\"total\":[364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3da419183dc82be4def489c9f255122afc9f03e6?offset=300&limit=100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fdf4c8cd6b3f7536" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "17067" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[1839.72,2325.39,1030.04,1366.28,5663.31,5663.31,638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72,316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09,597.1,701.11,596.79,596.79,190.5,373.65,739.23,969.9,567.73,893.17,137.81,172.97,462.58,523.96,540.36,540.36,326.03,440.93,1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55,1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93,978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[64],\"offset\":[300],\"total\":[364]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.json deleted file mode 100644 index 0dbd5b8da..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.json +++ /dev/null @@ -1,888 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"region\", \"state\", \"product_category\", \"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "67c0860b1f4bd0ac" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:00 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1098" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"d68bc61acae19127b00126073b9c51e756c8eb70\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "72892dbaf2f92cad" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27491" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41,963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72,1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07,802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06,989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86,1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96,2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37,586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19,102.03,102.03,60.78,60.78,13.9,13.9,3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25,236.34,393.47,184.82,281.19,218.89,218.89,1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42,871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,100],\"offset\":[0,0],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C100&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "55cdbade66940294" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27723" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52,220.46,360.16,161.73,161.73,1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84,5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01,1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62,652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42,527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84,541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06,2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78,8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35,1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75,1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18,1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,100],\"offset\":[0,100],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C200&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c53cbf36876e2b01" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27315" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63,408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07,1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18,772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89,1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6,1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52,9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23,3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6,571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09,18.7,18.7,790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71,2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86,11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45,1478.95,1514.89]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,100],\"offset\":[0,200],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C300&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6f8816fcefbf5561" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "17095" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[1839.72,2325.39,1030.04,1366.28,5663.31,5663.31,638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72,316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09,597.1,701.11,596.79,596.79,190.5,373.65,739.23,969.9,567.73,893.17,137.81,172.97,462.58,523.96,540.36,540.36,326.03,440.93,1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55,1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93,978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,64],\"offset\":[0,300],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6997c70f45e66091" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1964" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"d68bc61acae19127b00126073b9c51e756c8eb70\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"region\",\"state\",\"product_category\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e399dc9848ec2d7a" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27491" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41,963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72,1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07,802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06,989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86,1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96,2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37,586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19,102.03,102.03,60.78,60.78,13.9,13.9,3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25,236.34,393.47,184.82,281.19,218.89,218.89,1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42,871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,100],\"offset\":[0,0],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C100&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d7d82b91e9cd8698" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27723" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52,220.46,360.16,161.73,161.73,1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84,5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01,1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62,652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42,527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84,541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06,2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78,8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35,1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75,1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18,1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,100],\"offset\":[0,100],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C200&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "630c1e2453d4c400" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "27315" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63,408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07,1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18,772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89,1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6,1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52,9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23,3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6,571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09,18.7,18.7,790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71,2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86,11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45,1478.95,1514.89]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,100],\"offset\":[0,200],\"total\":[1,364]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d68bc61acae19127b00126073b9c51e756c8eb70?offset=0%2C300&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "694865712daef721" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "17095" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[1839.72,2325.39,1030.04,1366.28,5663.31,5663.31,638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72,316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09,597.1,701.11,596.79,596.79,190.5,373.65,739.23,969.9,567.73,893.17,137.81,172.97,462.58,523.96,540.36,540.36,326.03,440.93,1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55,1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93,978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,64],\"offset\":[0,300],\"total\":[1,364]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.json deleted file mode 100644 index 6276f6a99..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"product_category\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"region\", \"state\", \"measureGroup\"], \"localIdentifier\": \"dim_1\"}], \"totals\": [{\"function\": \"SUM\", \"localIdentifier\": \"grand_total1\", \"metric\": \"price\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_1\", \"totalDimensionItems\": [\"region\", \"state\", \"measureGroup\"]}]}, {\"function\": \"MAX\", \"localIdentifier\": \"grand_total2\", \"metric\": \"order_amount\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_1\", \"totalDimensionItems\": [\"region\", \"state\", \"measureGroup\"]}]}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "60e25ab4f21f4803" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:57 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"1cf68b9b4f7f54cae78bb5f326ffaa22fbcb49f7\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1cf68b9b4f7f54cae78bb5f326ffaa22fbcb49f7?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a1dbc3ea4f907995" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "22935" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21,963.25,1190.44,1858.1,2263.12,802.06,882.27,989.47,1104.14,1915.46,2369.61,2065.18,2541.12,586.37,742.46,102.03,102.03,3463.82,4467.47,236.34,393.47,1869.53,2146.81,871.42,1014.93,955.93,1055.56,220.46,360.16,1007.04,1129.66,5004.64,6162.98,1677.18,2310.61,652.4,712.22,527.93,738.82,541.01,717.46,2518.14,3019.08,8476.07,10448.66,1973.23,2601.99,1304.99,1671.49,1274.22,1368.62,1558.28,1952.49,408.96,646.74,1802.4,2176.17,772.05,1048.43,1096.89,1259.77,1585.4,1995.05,9041.19,11279.19,3201.61,3617.53,571.06,681.94,18.7,18.7,790.0,963.08,2294.87,2725.93,11367.24,13561.15,1478.95,1514.89,638.98,893.14,316.43,454.71,597.1,701.11,739.23,969.9,462.58,523.96,1213.9,1575.07,1069.48,1394.01,978.06,1225.73],[1936.08,2325.5,1115.49,1178.01,1819.59,2474.87,603.3,674.41,1581.46,1767.83,2329.01,2826.18,1512.2,1961.18,770.11,770.11,60.78,60.78,3532.76,4133.16,184.82,281.19,1813.39,2638.54,887.3,1048.14,1051.5,1729.45,null,null,537.52,725.32,4631.73,6433.78,1746.76,2306.18,949.42,1198.83,316.18,422.57,906.16,906.16,3262.11,3945.61,8258.54,10548.47,1805.62,2152.51,1039.04,1153.3,1727.11,1943.0,952.3,1226.85,549.99,790.98,1450.21,1686.28,876.39,876.39,541.59,541.59,1291.99,1291.99,8688.2,10307.9,2547.68,2863.09,750.01,750.01,null,null,869.41,890.67,2170.62,2380.37,11524.88,13729.96,1839.72,2325.39,758.13,758.13,299.91,383.62,596.79,596.79,567.73,893.17,540.36,540.36,676.67,1173.63,1244.55,1429.29,925.18,1010.03],[1644.01,1667.22,286.41,286.41,1491.35,1491.35,749.37,864.05,1817.19,2663.57,1264.88,1311.02,1922.63,2653.67,535.43,535.43,13.9,13.9,2498.84,3377.52,218.89,218.89,1321.08,1684.95,594.45,594.45,418.92,418.92,161.73,161.73,356.46,356.46,3316.02,3995.11,952.05,1078.41,759.31,927.48,454.73,454.73,437.49,556.68,3018.14,3554.04,5960.21,6688.79,1053.23,1294.96,311.97,311.97,1324.48,1749.62,1563.19,2208.04,174.34,174.34,1567.11,1704.0,771.44,858.2,612.65,612.65,616.68,616.68,7196.91,8293.87,2806.15,3446.67,810.47,1176.32,null,null,659.24,926.38,2137.33,2158.09,8522.94,9700.71,1030.04,1366.28,396.08,396.08,96.27,178.1,190.5,373.65,137.81,172.97,326.03,440.93,801.92,801.92,835.05,835.05,528.25,973.49],[3205.41,3205.41,3617.55,3939.72,3298.64,3542.07,2349.06,2349.06,3357.3,5617.86,2679.78,3157.96,3046.57,3763.37,666.19,666.19,null,null,4076.75,7939.25,null,null,5646.42,5646.42,538.99,538.99,1624.52,1624.52,null,null,231.84,231.84,8734.63,13727.01,9179.44,9706.62,3837.42,3837.42,3384.84,3384.84,1355.06,1355.06,7595.78,7595.78,19294.85,25807.35,5033.19,5985.75,223.09,446.18,2185.98,2185.98,4344.16,6919.63,2834.07,2834.07,4056.46,4879.18,6328.89,6328.89,1184.6,1184.6,1649.85,1886.52,19327.65,22670.23,7141.49,7397.6,523.09,523.09,null,null,2664.71,2664.71,3676.86,3676.86,25996.75,30393.45,5663.31,5663.31,3426.72,3426.72,1128.03,3384.09,null,null,null,null,null,null,1772.62,2074.55,5211.52,6042.93,3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[{\"data\":[[null,3205.41,null,3939.72,null,3542.07,null,2349.06,null,5617.86,null,3157.96,null,3763.37,null,770.11,null,102.03,null,7939.25,null,393.47,null,5646.42,null,1048.14,null,1729.45,null,360.16,null,1129.66,null,13727.01,null,9706.62,null,3837.42,null,3384.84,null,1355.06,null,7595.78,null,25807.35,null,5985.75,null,1671.49,null,2185.98,null,6919.63,null,2834.07,null,4879.18,null,6328.89,null,1259.77,null,1995.05,null,22670.23,null,7397.6,null,1176.32,null,18.7,null,2664.71,null,3676.86,null,30393.45,null,5663.31,null,3426.72,null,3384.09,null,701.11,null,969.9,null,540.36,null,2074.55,null,6042.93,null,4246.86],[8804.49,null,5982.7,null,8467.68,null,4503.79,null,7745.42,null,8189.130000000001,null,8546.58,null,2558.1,null,176.71,null,13572.17,null,640.05,null,10650.42,null,2892.16,null,4050.87,null,382.19,null,2132.86,null,21687.019999999997,null,13555.43,null,6198.55,null,4683.68,null,3239.7200000000003,null,16394.17,null,41989.67,null,9865.269999999999,null,2879.09,null,6511.790000000001,null,8417.93,null,3967.36,null,8876.18,null,8748.77,null,3435.73,null,5143.92,null,44253.95000000001,null,15696.93,null,2654.63,null,18.7,null,4983.36,null,10279.68,null,57411.81,null,10012.02,null,5219.91,null,1840.64,null,1384.3899999999999,null,1444.77,null,1328.9699999999998,null,4465.110000000001,null,8360.6,null,6219.379999999999,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_1\"]}],\"paging\":{\"count\":[4,96],\"offset\":[0,0],\"total\":[4,96]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1cf68b9b4f7f54cae78bb5f326ffaa22fbcb49f7/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d0e7ba6cc41d9635" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2322" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"1cf68b9b4f7f54cae78bb5f326ffaa22fbcb49f7\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"product_category\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"region\",\"state\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[{\"localIdentifier\":\"grand_total1\",\"function\":\"SUM\",\"metric\":\"price\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_1\",\"totalDimensionItems\":[\"region\",\"state\",\"measureGroup\"]}]},{\"localIdentifier\":\"grand_total2\",\"function\":\"MAX\",\"metric\":\"order_amount\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_1\",\"totalDimensionItems\":[\"region\",\"state\",\"measureGroup\"]}]}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1cf68b9b4f7f54cae78bb5f326ffaa22fbcb49f7?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ed72267063bfe7e8" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "22935" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21,963.25,1190.44,1858.1,2263.12,802.06,882.27,989.47,1104.14,1915.46,2369.61,2065.18,2541.12,586.37,742.46,102.03,102.03,3463.82,4467.47,236.34,393.47,1869.53,2146.81,871.42,1014.93,955.93,1055.56,220.46,360.16,1007.04,1129.66,5004.64,6162.98,1677.18,2310.61,652.4,712.22,527.93,738.82,541.01,717.46,2518.14,3019.08,8476.07,10448.66,1973.23,2601.99,1304.99,1671.49,1274.22,1368.62,1558.28,1952.49,408.96,646.74,1802.4,2176.17,772.05,1048.43,1096.89,1259.77,1585.4,1995.05,9041.19,11279.19,3201.61,3617.53,571.06,681.94,18.7,18.7,790.0,963.08,2294.87,2725.93,11367.24,13561.15,1478.95,1514.89,638.98,893.14,316.43,454.71,597.1,701.11,739.23,969.9,462.58,523.96,1213.9,1575.07,1069.48,1394.01,978.06,1225.73],[1936.08,2325.5,1115.49,1178.01,1819.59,2474.87,603.3,674.41,1581.46,1767.83,2329.01,2826.18,1512.2,1961.18,770.11,770.11,60.78,60.78,3532.76,4133.16,184.82,281.19,1813.39,2638.54,887.3,1048.14,1051.5,1729.45,null,null,537.52,725.32,4631.73,6433.78,1746.76,2306.18,949.42,1198.83,316.18,422.57,906.16,906.16,3262.11,3945.61,8258.54,10548.47,1805.62,2152.51,1039.04,1153.3,1727.11,1943.0,952.3,1226.85,549.99,790.98,1450.21,1686.28,876.39,876.39,541.59,541.59,1291.99,1291.99,8688.2,10307.9,2547.68,2863.09,750.01,750.01,null,null,869.41,890.67,2170.62,2380.37,11524.88,13729.96,1839.72,2325.39,758.13,758.13,299.91,383.62,596.79,596.79,567.73,893.17,540.36,540.36,676.67,1173.63,1244.55,1429.29,925.18,1010.03],[1644.01,1667.22,286.41,286.41,1491.35,1491.35,749.37,864.05,1817.19,2663.57,1264.88,1311.02,1922.63,2653.67,535.43,535.43,13.9,13.9,2498.84,3377.52,218.89,218.89,1321.08,1684.95,594.45,594.45,418.92,418.92,161.73,161.73,356.46,356.46,3316.02,3995.11,952.05,1078.41,759.31,927.48,454.73,454.73,437.49,556.68,3018.14,3554.04,5960.21,6688.79,1053.23,1294.96,311.97,311.97,1324.48,1749.62,1563.19,2208.04,174.34,174.34,1567.11,1704.0,771.44,858.2,612.65,612.65,616.68,616.68,7196.91,8293.87,2806.15,3446.67,810.47,1176.32,null,null,659.24,926.38,2137.33,2158.09,8522.94,9700.71,1030.04,1366.28,396.08,396.08,96.27,178.1,190.5,373.65,137.81,172.97,326.03,440.93,801.92,801.92,835.05,835.05,528.25,973.49],[3205.41,3205.41,3617.55,3939.72,3298.64,3542.07,2349.06,2349.06,3357.3,5617.86,2679.78,3157.96,3046.57,3763.37,666.19,666.19,null,null,4076.75,7939.25,null,null,5646.42,5646.42,538.99,538.99,1624.52,1624.52,null,null,231.84,231.84,8734.63,13727.01,9179.44,9706.62,3837.42,3837.42,3384.84,3384.84,1355.06,1355.06,7595.78,7595.78,19294.85,25807.35,5033.19,5985.75,223.09,446.18,2185.98,2185.98,4344.16,6919.63,2834.07,2834.07,4056.46,4879.18,6328.89,6328.89,1184.6,1184.6,1649.85,1886.52,19327.65,22670.23,7141.49,7397.6,523.09,523.09,null,null,2664.71,2664.71,3676.86,3676.86,25996.75,30393.45,5663.31,5663.31,3426.72,3426.72,1128.03,3384.09,null,null,null,null,null,null,1772.62,2074.55,5211.52,6042.93,3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[{\"data\":[[null,3205.41,null,3939.72,null,3542.07,null,2349.06,null,5617.86,null,3157.96,null,3763.37,null,770.11,null,102.03,null,7939.25,null,393.47,null,5646.42,null,1048.14,null,1729.45,null,360.16,null,1129.66,null,13727.01,null,9706.62,null,3837.42,null,3384.84,null,1355.06,null,7595.78,null,25807.35,null,5985.75,null,1671.49,null,2185.98,null,6919.63,null,2834.07,null,4879.18,null,6328.89,null,1259.77,null,1995.05,null,22670.23,null,7397.6,null,1176.32,null,18.7,null,2664.71,null,3676.86,null,30393.45,null,5663.31,null,3426.72,null,3384.09,null,701.11,null,969.9,null,540.36,null,2074.55,null,6042.93,null,4246.86],[8804.49,null,5982.7,null,8467.68,null,4503.79,null,7745.42,null,8189.130000000001,null,8546.58,null,2558.1,null,176.71,null,13572.17,null,640.05,null,10650.42,null,2892.16,null,4050.87,null,382.19,null,2132.86,null,21687.019999999997,null,13555.43,null,6198.55,null,4683.68,null,3239.7200000000003,null,16394.17,null,41989.67,null,9865.269999999999,null,2879.09,null,6511.790000000001,null,8417.93,null,3967.36,null,8876.18,null,8748.77,null,3435.73,null,5143.92,null,44253.95000000001,null,15696.93,null,2654.63,null,18.7,null,4983.36,null,10279.68,null,57411.81,null,10012.02,null,5219.91,null,1840.64,null,1384.3899999999999,null,1444.77,null,1328.9699999999998,null,4465.110000000001,null,8360.6,null,6219.379999999999,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_1\"]}],\"paging\":{\"count\":[4,96],\"offset\":[0,0],\"total\":[4,96]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.json deleted file mode 100644 index ed0a60eac..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"region\", \"product_category\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"state\", \"measureGroup\"], \"localIdentifier\": \"dim_1\"}], \"totals\": [{\"function\": \"SUM\", \"localIdentifier\": \"grand_total1\", \"metric\": \"price\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_1\", \"totalDimensionItems\": [\"state\", \"measureGroup\"]}]}, {\"function\": \"MAX\", \"localIdentifier\": \"grand_total2\", \"metric\": \"order_amount\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_1\", \"totalDimensionItems\": [\"state\", \"measureGroup\"]}]}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "b87977037b32f71d" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"c7b4a41909787bf55990f4b6cf2b53d261ca360e\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c7b4a41909787bf55990f4b6cf2b53d261ca360e?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "829f402984fe94fa" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "24559" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2018.99,2535.21,963.25,1190.44,1858.1,2263.12,802.06,882.27,null,null,null,null,null,null,null,null,989.47,1104.14,1915.46,2369.61,null,null,2065.18,2541.12,null,null,586.37,742.46,null,null,null,null,null,null,null,null,null,null,null,null,102.03,102.03,3463.82,4467.47,null,null,null,null,null,null,null,null,null,null,236.34,393.47,null,null,null,null,null,null,null,null,null,null,null,null,1869.53,2146.81],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1936.08,2325.5,1115.49,1178.01,1819.59,2474.87,603.3,674.41,null,null,null,null,null,null,null,null,1581.46,1767.83,2329.01,2826.18,null,null,1512.2,1961.18,null,null,770.11,770.11,null,null,null,null,null,null,null,null,null,null,null,null,60.78,60.78,3532.76,4133.16,null,null,null,null,null,null,null,null,null,null,184.82,281.19,null,null,null,null,null,null,null,null,null,null,null,null,1813.39,2638.54],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1644.01,1667.22,286.41,286.41,1491.35,1491.35,749.37,864.05,null,null,null,null,null,null,null,null,1817.19,2663.57,1264.88,1311.02,null,null,1922.63,2653.67,null,null,535.43,535.43,null,null,null,null,null,null,null,null,null,null,null,null,13.9,13.9,2498.84,3377.52,null,null,null,null,null,null,null,null,null,null,218.89,218.89,null,null,null,null,null,null,null,null,null,null,null,null,1321.08,1684.95],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3205.41,3205.41,3617.55,3939.72,3298.64,3542.07,2349.06,2349.06,null,null,null,null,null,null,null,null,3357.3,5617.86,2679.78,3157.96,null,null,3046.57,3763.37,null,null,666.19,666.19,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4076.75,7939.25,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,5646.42,5646.42],[null,null,null,null,null,null,null,null,null,null,null,null,871.42,1014.93,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,955.93,1055.56,null,null,null,null,null,null,null,null,null,null,null,null,null,null,220.46,360.16,1007.04,1129.66,null,null,5004.64,6162.98,null,null,null,null,null,null,null,null,null,null,1677.18,2310.61,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,887.3,1048.14,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1051.5,1729.45,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,537.52,725.32,null,null,4631.73,6433.78,null,null,null,null,null,null,null,null,null,null,1746.76,2306.18,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,594.45,594.45,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,418.92,418.92,null,null,null,null,null,null,null,null,null,null,null,null,null,null,161.73,161.73,356.46,356.46,null,null,3316.02,3995.11,null,null,null,null,null,null,null,null,null,null,952.05,1078.41,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,538.99,538.99,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1624.52,1624.52,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,231.84,231.84,null,null,8734.63,13727.01,null,null,null,null,null,null,null,null,null,null,9179.44,9706.62,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[652.4,712.22,null,null,null,null,527.93,738.82,null,null,null,null,null,null,541.01,717.46,2518.14,3019.08,8476.07,10448.66,1973.23,2601.99,null,null,null,null,null,null,null,null,null,null,null,null,1304.99,1671.49,1274.22,1368.62,1558.28,1952.49,null,null,null,null,null,null,408.96,646.74,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1802.4,2176.17,null,null,null,null,772.05,1048.43,null,null,null,null,null,null,1096.89,1259.77,null,null,1585.4,1995.05,9041.19,11279.19,null,null,3201.61,3617.53,null,null,571.06,681.94,null,null],[949.42,1198.83,null,null,null,null,316.18,422.57,null,null,null,null,null,null,906.16,906.16,3262.11,3945.61,8258.54,10548.47,1805.62,2152.51,null,null,null,null,null,null,null,null,null,null,null,null,1039.04,1153.3,1727.11,1943.0,952.3,1226.85,null,null,null,null,null,null,549.99,790.98,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1450.21,1686.28,null,null,null,null,876.39,876.39,null,null,null,null,null,null,541.59,541.59,null,null,1291.99,1291.99,8688.2,10307.9,null,null,2547.68,2863.09,null,null,750.01,750.01,null,null],[759.31,927.48,null,null,null,null,454.73,454.73,null,null,null,null,null,null,437.49,556.68,3018.14,3554.04,5960.21,6688.79,1053.23,1294.96,null,null,null,null,null,null,null,null,null,null,null,null,311.97,311.97,1324.48,1749.62,1563.19,2208.04,null,null,null,null,null,null,174.34,174.34,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1567.11,1704.0,null,null,null,null,771.44,858.2,null,null,null,null,null,null,612.65,612.65,null,null,616.68,616.68,7196.91,8293.87,null,null,2806.15,3446.67,null,null,810.47,1176.32,null,null],[3837.42,3837.42,null,null,null,null,3384.84,3384.84,null,null,null,null,null,null,1355.06,1355.06,7595.78,7595.78,19294.85,25807.35,5033.19,5985.75,null,null,null,null,null,null,null,null,null,null,null,null,223.09,446.18,2185.98,2185.98,4344.16,6919.63,null,null,null,null,null,null,2834.07,2834.07,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4056.46,4879.18,null,null,null,null,6328.89,6328.89,null,null,null,null,null,null,1184.6,1184.6,null,null,1649.85,1886.52,19327.65,22670.23,null,null,7141.49,7397.6,null,null,523.09,523.09,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,18.7,18.7,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,790.0,963.08,2294.87,2725.93,null,null,11367.24,13561.15,1478.95,1514.89,null,null,null,null,null,null,null,null,null,null,638.98,893.14,316.43,454.71,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,597.1,701.11,null,null,739.23,969.9,null,null,null,null,462.58,523.96,null,null,null,null,null,null,null,null,null,null,1213.9,1575.07,null,null,null,null,null,null,null,null,null,null,null,null,1069.48,1394.01,null,null,978.06,1225.73,null,null,null,null],[null,null,869.41,890.67,2170.62,2380.37,null,null,11524.88,13729.96,1839.72,2325.39,null,null,null,null,null,null,null,null,null,null,758.13,758.13,299.91,383.62,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,596.79,596.79,null,null,567.73,893.17,null,null,null,null,540.36,540.36,null,null,null,null,null,null,null,null,null,null,676.67,1173.63,null,null,null,null,null,null,null,null,null,null,null,null,1244.55,1429.29,null,null,925.18,1010.03,null,null,null,null],[null,null,659.24,926.38,2137.33,2158.09,null,null,8522.94,9700.71,1030.04,1366.28,null,null,null,null,null,null,null,null,null,null,396.08,396.08,96.27,178.1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,190.5,373.65,null,null,137.81,172.97,null,null,null,null,326.03,440.93,null,null,null,null,null,null,null,null,null,null,801.92,801.92,null,null,null,null,null,null,null,null,null,null,null,null,835.05,835.05,null,null,528.25,973.49,null,null,null,null],[null,null,2664.71,2664.71,3676.86,3676.86,null,null,25996.75,30393.45,5663.31,5663.31,null,null,null,null,null,null,null,null,null,null,3426.72,3426.72,1128.03,3384.09,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1772.62,2074.55,null,null,null,null,null,null,null,null,null,null,null,null,5211.52,6042.93,null,null,3787.89,4246.86,null,null,null,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[{\"data\":[[null,3837.42,null,2664.71,null,3676.86,null,3384.84,null,30393.45,null,5663.31,null,1048.14,null,1355.06,null,7595.78,null,25807.35,null,5985.75,null,3426.72,null,3384.09,null,3205.41,null,3939.72,null,3542.07,null,2349.06,null,1671.49,null,2185.98,null,6919.63,null,1729.45,null,5617.86,null,3157.96,null,2834.07,null,3763.37,null,701.11,null,770.11,null,969.9,null,360.16,null,1129.66,null,540.36,null,13727.01,null,4879.18,null,102.03,null,7939.25,null,6328.89,null,2074.55,null,9706.62,null,18.7,null,1259.77,null,393.47,null,1995.05,null,22670.23,null,6042.93,null,7397.6,null,4246.86,null,1176.32,null,5646.42],[6198.55,null,4983.36,null,10279.68,null,4683.68,null,57411.81,null,10012.02,null,2892.16,null,3239.7200000000003,null,16394.17,null,41989.67,null,9865.269999999999,null,5219.91,null,1840.64,null,8804.49,null,5982.7,null,8467.68,null,4503.79,null,2879.09,null,6511.790000000001,null,8417.93,null,4050.87,null,7745.42,null,8189.130000000001,null,3967.36,null,8546.58,null,1384.3899999999999,null,2558.1,null,1444.77,null,382.19,null,2132.86,null,1328.9699999999998,null,21687.019999999997,null,8876.18,null,176.71,null,13572.17,null,8748.77,null,4465.110000000001,null,13555.43,null,18.7,null,3435.73,null,640.05,null,5143.92,null,44253.95000000001,null,8360.6,null,15696.93,null,6219.379999999999,null,2654.63,null,10650.42,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]},{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_1\"]}],\"paging\":{\"count\":[17,96],\"offset\":[0,0],\"total\":[17,96]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c7b4a41909787bf55990f4b6cf2b53d261ca360e/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0d2a2902138ef78d" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2304" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"c7b4a41909787bf55990f4b6cf2b53d261ca360e\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"region\",\"product_category\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"state\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[{\"localIdentifier\":\"grand_total1\",\"function\":\"SUM\",\"metric\":\"price\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_1\",\"totalDimensionItems\":[\"state\",\"measureGroup\"]}]},{\"localIdentifier\":\"grand_total2\",\"function\":\"MAX\",\"metric\":\"order_amount\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_1\",\"totalDimensionItems\":[\"state\",\"measureGroup\"]}]}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c7b4a41909787bf55990f4b6cf2b53d261ca360e?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "873d0524de855f19" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:58 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "24559" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,2018.99,2535.21,963.25,1190.44,1858.1,2263.12,802.06,882.27,null,null,null,null,null,null,null,null,989.47,1104.14,1915.46,2369.61,null,null,2065.18,2541.12,null,null,586.37,742.46,null,null,null,null,null,null,null,null,null,null,null,null,102.03,102.03,3463.82,4467.47,null,null,null,null,null,null,null,null,null,null,236.34,393.47,null,null,null,null,null,null,null,null,null,null,null,null,1869.53,2146.81],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1936.08,2325.5,1115.49,1178.01,1819.59,2474.87,603.3,674.41,null,null,null,null,null,null,null,null,1581.46,1767.83,2329.01,2826.18,null,null,1512.2,1961.18,null,null,770.11,770.11,null,null,null,null,null,null,null,null,null,null,null,null,60.78,60.78,3532.76,4133.16,null,null,null,null,null,null,null,null,null,null,184.82,281.19,null,null,null,null,null,null,null,null,null,null,null,null,1813.39,2638.54],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1644.01,1667.22,286.41,286.41,1491.35,1491.35,749.37,864.05,null,null,null,null,null,null,null,null,1817.19,2663.57,1264.88,1311.02,null,null,1922.63,2653.67,null,null,535.43,535.43,null,null,null,null,null,null,null,null,null,null,null,null,13.9,13.9,2498.84,3377.52,null,null,null,null,null,null,null,null,null,null,218.89,218.89,null,null,null,null,null,null,null,null,null,null,null,null,1321.08,1684.95],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,3205.41,3205.41,3617.55,3939.72,3298.64,3542.07,2349.06,2349.06,null,null,null,null,null,null,null,null,3357.3,5617.86,2679.78,3157.96,null,null,3046.57,3763.37,null,null,666.19,666.19,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4076.75,7939.25,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,5646.42,5646.42],[null,null,null,null,null,null,null,null,null,null,null,null,871.42,1014.93,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,955.93,1055.56,null,null,null,null,null,null,null,null,null,null,null,null,null,null,220.46,360.16,1007.04,1129.66,null,null,5004.64,6162.98,null,null,null,null,null,null,null,null,null,null,1677.18,2310.61,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,887.3,1048.14,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1051.5,1729.45,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,537.52,725.32,null,null,4631.73,6433.78,null,null,null,null,null,null,null,null,null,null,1746.76,2306.18,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,594.45,594.45,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,418.92,418.92,null,null,null,null,null,null,null,null,null,null,null,null,null,null,161.73,161.73,356.46,356.46,null,null,3316.02,3995.11,null,null,null,null,null,null,null,null,null,null,952.05,1078.41,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,538.99,538.99,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1624.52,1624.52,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,231.84,231.84,null,null,8734.63,13727.01,null,null,null,null,null,null,null,null,null,null,9179.44,9706.62,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[652.4,712.22,null,null,null,null,527.93,738.82,null,null,null,null,null,null,541.01,717.46,2518.14,3019.08,8476.07,10448.66,1973.23,2601.99,null,null,null,null,null,null,null,null,null,null,null,null,1304.99,1671.49,1274.22,1368.62,1558.28,1952.49,null,null,null,null,null,null,408.96,646.74,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1802.4,2176.17,null,null,null,null,772.05,1048.43,null,null,null,null,null,null,1096.89,1259.77,null,null,1585.4,1995.05,9041.19,11279.19,null,null,3201.61,3617.53,null,null,571.06,681.94,null,null],[949.42,1198.83,null,null,null,null,316.18,422.57,null,null,null,null,null,null,906.16,906.16,3262.11,3945.61,8258.54,10548.47,1805.62,2152.51,null,null,null,null,null,null,null,null,null,null,null,null,1039.04,1153.3,1727.11,1943.0,952.3,1226.85,null,null,null,null,null,null,549.99,790.98,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1450.21,1686.28,null,null,null,null,876.39,876.39,null,null,null,null,null,null,541.59,541.59,null,null,1291.99,1291.99,8688.2,10307.9,null,null,2547.68,2863.09,null,null,750.01,750.01,null,null],[759.31,927.48,null,null,null,null,454.73,454.73,null,null,null,null,null,null,437.49,556.68,3018.14,3554.04,5960.21,6688.79,1053.23,1294.96,null,null,null,null,null,null,null,null,null,null,null,null,311.97,311.97,1324.48,1749.62,1563.19,2208.04,null,null,null,null,null,null,174.34,174.34,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1567.11,1704.0,null,null,null,null,771.44,858.2,null,null,null,null,null,null,612.65,612.65,null,null,616.68,616.68,7196.91,8293.87,null,null,2806.15,3446.67,null,null,810.47,1176.32,null,null],[3837.42,3837.42,null,null,null,null,3384.84,3384.84,null,null,null,null,null,null,1355.06,1355.06,7595.78,7595.78,19294.85,25807.35,5033.19,5985.75,null,null,null,null,null,null,null,null,null,null,null,null,223.09,446.18,2185.98,2185.98,4344.16,6919.63,null,null,null,null,null,null,2834.07,2834.07,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,4056.46,4879.18,null,null,null,null,6328.89,6328.89,null,null,null,null,null,null,1184.6,1184.6,null,null,1649.85,1886.52,19327.65,22670.23,null,null,7141.49,7397.6,null,null,523.09,523.09,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,18.7,18.7,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,790.0,963.08,2294.87,2725.93,null,null,11367.24,13561.15,1478.95,1514.89,null,null,null,null,null,null,null,null,null,null,638.98,893.14,316.43,454.71,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,597.1,701.11,null,null,739.23,969.9,null,null,null,null,462.58,523.96,null,null,null,null,null,null,null,null,null,null,1213.9,1575.07,null,null,null,null,null,null,null,null,null,null,null,null,1069.48,1394.01,null,null,978.06,1225.73,null,null,null,null],[null,null,869.41,890.67,2170.62,2380.37,null,null,11524.88,13729.96,1839.72,2325.39,null,null,null,null,null,null,null,null,null,null,758.13,758.13,299.91,383.62,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,596.79,596.79,null,null,567.73,893.17,null,null,null,null,540.36,540.36,null,null,null,null,null,null,null,null,null,null,676.67,1173.63,null,null,null,null,null,null,null,null,null,null,null,null,1244.55,1429.29,null,null,925.18,1010.03,null,null,null,null],[null,null,659.24,926.38,2137.33,2158.09,null,null,8522.94,9700.71,1030.04,1366.28,null,null,null,null,null,null,null,null,null,null,396.08,396.08,96.27,178.1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,190.5,373.65,null,null,137.81,172.97,null,null,null,null,326.03,440.93,null,null,null,null,null,null,null,null,null,null,801.92,801.92,null,null,null,null,null,null,null,null,null,null,null,null,835.05,835.05,null,null,528.25,973.49,null,null,null,null],[null,null,2664.71,2664.71,3676.86,3676.86,null,null,25996.75,30393.45,5663.31,5663.31,null,null,null,null,null,null,null,null,null,null,3426.72,3426.72,1128.03,3384.09,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1772.62,2074.55,null,null,null,null,null,null,null,null,null,null,null,null,5211.52,6042.93,null,null,3787.89,4246.86,null,null,null,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[{\"data\":[[null,3837.42,null,2664.71,null,3676.86,null,3384.84,null,30393.45,null,5663.31,null,1048.14,null,1355.06,null,7595.78,null,25807.35,null,5985.75,null,3426.72,null,3384.09,null,3205.41,null,3939.72,null,3542.07,null,2349.06,null,1671.49,null,2185.98,null,6919.63,null,1729.45,null,5617.86,null,3157.96,null,2834.07,null,3763.37,null,701.11,null,770.11,null,969.9,null,360.16,null,1129.66,null,540.36,null,13727.01,null,4879.18,null,102.03,null,7939.25,null,6328.89,null,2074.55,null,9706.62,null,18.7,null,1259.77,null,393.47,null,1995.05,null,22670.23,null,6042.93,null,7397.6,null,4246.86,null,1176.32,null,5646.42],[6198.55,null,4983.36,null,10279.68,null,4683.68,null,57411.81,null,10012.02,null,2892.16,null,3239.7200000000003,null,16394.17,null,41989.67,null,9865.269999999999,null,5219.91,null,1840.64,null,8804.49,null,5982.7,null,8467.68,null,4503.79,null,2879.09,null,6511.790000000001,null,8417.93,null,4050.87,null,7745.42,null,8189.130000000001,null,3967.36,null,8546.58,null,1384.3899999999999,null,2558.1,null,1444.77,null,382.19,null,2132.86,null,1328.9699999999998,null,21687.019999999997,null,8876.18,null,176.71,null,13572.17,null,8748.77,null,4465.110000000001,null,13555.43,null,18.7,null,3435.73,null,640.05,null,5143.92,null,44253.95000000001,null,8360.6,null,15696.93,null,6219.379999999999,null,2654.63,null,10650.42,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]},{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_1\"]}],\"paging\":{\"count\":[17,96],\"offset\":[0,0],\"total\":[17,96]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.json deleted file mode 100644 index 13b0321cc..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"region\", \"state\", \"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"product_category\"], \"localIdentifier\": \"dim_1\"}], \"totals\": [{\"function\": \"SUM\", \"localIdentifier\": \"grand_total1\", \"metric\": \"price\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_0\", \"totalDimensionItems\": [\"region\", \"state\", \"measureGroup\"]}]}, {\"function\": \"MAX\", \"localIdentifier\": \"grand_total2\", \"metric\": \"order_amount\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_0\", \"totalDimensionItems\": [\"region\", \"state\", \"measureGroup\"]}]}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fd9dceb050a97d10" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"8f0c3bddc87b8cd3b67cb221a43842f225a54eb1\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8f0c3bddc87b8cd3b67cb221a43842f225a54eb1?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "b1256903e76573ba" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "23307" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,1936.08,1644.01,3205.41],[2535.21,2325.5,1667.22,3205.41],[963.25,1115.49,286.41,3617.55],[1190.44,1178.01,286.41,3939.72],[1858.1,1819.59,1491.35,3298.64],[2263.12,2474.87,1491.35,3542.07],[802.06,603.3,749.37,2349.06],[882.27,674.41,864.05,2349.06],[989.47,1581.46,1817.19,3357.3],[1104.14,1767.83,2663.57,5617.86],[1915.46,2329.01,1264.88,2679.78],[2369.61,2826.18,1311.02,3157.96],[2065.18,1512.2,1922.63,3046.57],[2541.12,1961.18,2653.67,3763.37],[586.37,770.11,535.43,666.19],[742.46,770.11,535.43,666.19],[102.03,60.78,13.9,null],[102.03,60.78,13.9,null],[3463.82,3532.76,2498.84,4076.75],[4467.47,4133.16,3377.52,7939.25],[236.34,184.82,218.89,null],[393.47,281.19,218.89,null],[1869.53,1813.39,1321.08,5646.42],[2146.81,2638.54,1684.95,5646.42],[871.42,887.3,594.45,538.99],[1014.93,1048.14,594.45,538.99],[955.93,1051.5,418.92,1624.52],[1055.56,1729.45,418.92,1624.52],[220.46,null,161.73,null],[360.16,null,161.73,null],[1007.04,537.52,356.46,231.84],[1129.66,725.32,356.46,231.84],[5004.64,4631.73,3316.02,8734.63],[6162.98,6433.78,3995.11,13727.01],[1677.18,1746.76,952.05,9179.44],[2310.61,2306.18,1078.41,9706.62],[652.4,949.42,759.31,3837.42],[712.22,1198.83,927.48,3837.42],[527.93,316.18,454.73,3384.84],[738.82,422.57,454.73,3384.84],[541.01,906.16,437.49,1355.06],[717.46,906.16,556.68,1355.06],[2518.14,3262.11,3018.14,7595.78],[3019.08,3945.61,3554.04,7595.78],[8476.07,8258.54,5960.21,19294.85],[10448.66,10548.47,6688.79,25807.35],[1973.23,1805.62,1053.23,5033.19],[2601.99,2152.51,1294.96,5985.75],[1304.99,1039.04,311.97,223.09],[1671.49,1153.3,311.97,446.18],[1274.22,1727.11,1324.48,2185.98],[1368.62,1943.0,1749.62,2185.98],[1558.28,952.3,1563.19,4344.16],[1952.49,1226.85,2208.04,6919.63],[408.96,549.99,174.34,2834.07],[646.74,790.98,174.34,2834.07],[1802.4,1450.21,1567.11,4056.46],[2176.17,1686.28,1704.0,4879.18],[772.05,876.39,771.44,6328.89],[1048.43,876.39,858.2,6328.89],[1096.89,541.59,612.65,1184.6],[1259.77,541.59,612.65,1184.6],[1585.4,1291.99,616.68,1649.85],[1995.05,1291.99,616.68,1886.52],[9041.19,8688.2,7196.91,19327.65],[11279.19,10307.9,8293.87,22670.23],[3201.61,2547.68,2806.15,7141.49],[3617.53,2863.09,3446.67,7397.6],[571.06,750.01,810.47,523.09],[681.94,750.01,1176.32,523.09],[18.7,null,null,null],[18.7,null,null,null],[790.0,869.41,659.24,2664.71],[963.08,890.67,926.38,2664.71],[2294.87,2170.62,2137.33,3676.86],[2725.93,2380.37,2158.09,3676.86],[11367.24,11524.88,8522.94,25996.75],[13561.15,13729.96,9700.71,30393.45],[1478.95,1839.72,1030.04,5663.31],[1514.89,2325.39,1366.28,5663.31],[638.98,758.13,396.08,3426.72],[893.14,758.13,396.08,3426.72],[316.43,299.91,96.27,1128.03],[454.71,383.62,178.1,3384.09],[597.1,596.79,190.5,null],[701.11,596.79,373.65,null],[739.23,567.73,137.81,null],[969.9,893.17,172.97,null],[462.58,540.36,326.03,null],[523.96,540.36,440.93,null],[1213.9,676.67,801.92,1772.62],[1575.07,1173.63,801.92,2074.55],[1069.48,1244.55,835.05,5211.52],[1394.01,1429.29,835.05,6042.93],[978.06,925.18,528.25,3787.89],[1225.73,1010.03,973.49,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[{\"data\":[[null,8804.49],[3205.41,null],[null,5982.7],[3939.72,null],[null,8467.68],[3542.07,null],[null,4503.79],[2349.06,null],[null,7745.42],[5617.86,null],[null,8189.130000000001],[3157.96,null],[null,8546.58],[3763.37,null],[null,2558.1],[770.11,null],[null,176.71],[102.03,null],[null,13572.17],[7939.25,null],[null,640.05],[393.47,null],[null,10650.42],[5646.42,null],[null,2892.16],[1048.14,null],[null,4050.87],[1729.45,null],[null,382.19],[360.16,null],[null,2132.86],[1129.66,null],[null,21687.019999999997],[13727.01,null],[null,13555.43],[9706.62,null],[null,6198.55],[3837.42,null],[null,4683.68],[3384.84,null],[null,3239.7200000000003],[1355.06,null],[null,16394.17],[7595.78,null],[null,41989.67],[25807.35,null],[null,9865.269999999999],[5985.75,null],[null,2879.09],[1671.49,null],[null,6511.790000000001],[2185.98,null],[null,8417.93],[6919.63,null],[null,3967.36],[2834.07,null],[null,8876.18],[4879.18,null],[null,8748.77],[6328.89,null],[null,3435.73],[1259.77,null],[null,5143.92],[1995.05,null],[null,44253.95000000001],[22670.23,null],[null,15696.93],[7397.6,null],[null,2654.63],[1176.32,null],[null,18.7],[18.7,null],[null,4983.36],[2664.71,null],[null,10279.68],[3676.86,null],[null,57411.81],[30393.45,null],[null,10012.02],[5663.31,null],[null,5219.91],[3426.72,null],[null,1840.64],[3384.09,null],[null,1384.3899999999999],[701.11,null],[null,1444.77],[969.9,null],[null,1328.9699999999998],[540.36,null],[null,4465.110000000001],[2074.55,null],[null,8360.6],[6042.93,null],[null,6219.379999999999],[4246.86,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_0\"]}],\"paging\":{\"count\":[96,4],\"offset\":[0,0],\"total\":[96,4]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8f0c3bddc87b8cd3b67cb221a43842f225a54eb1/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ccdfdf37348bfd76" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2322" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"8f0c3bddc87b8cd3b67cb221a43842f225a54eb1\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"region\",\"state\",\"measureGroup\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"product_category\"],\"sorting\":[]}],\"totals\":[{\"localIdentifier\":\"grand_total1\",\"function\":\"SUM\",\"metric\":\"price\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_0\",\"totalDimensionItems\":[\"region\",\"state\",\"measureGroup\"]}]},{\"localIdentifier\":\"grand_total2\",\"function\":\"MAX\",\"metric\":\"order_amount\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_0\",\"totalDimensionItems\":[\"region\",\"state\",\"measureGroup\"]}]}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8f0c3bddc87b8cd3b67cb221a43842f225a54eb1?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0b3295822f3e4250" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "23307" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,1936.08,1644.01,3205.41],[2535.21,2325.5,1667.22,3205.41],[963.25,1115.49,286.41,3617.55],[1190.44,1178.01,286.41,3939.72],[1858.1,1819.59,1491.35,3298.64],[2263.12,2474.87,1491.35,3542.07],[802.06,603.3,749.37,2349.06],[882.27,674.41,864.05,2349.06],[989.47,1581.46,1817.19,3357.3],[1104.14,1767.83,2663.57,5617.86],[1915.46,2329.01,1264.88,2679.78],[2369.61,2826.18,1311.02,3157.96],[2065.18,1512.2,1922.63,3046.57],[2541.12,1961.18,2653.67,3763.37],[586.37,770.11,535.43,666.19],[742.46,770.11,535.43,666.19],[102.03,60.78,13.9,null],[102.03,60.78,13.9,null],[3463.82,3532.76,2498.84,4076.75],[4467.47,4133.16,3377.52,7939.25],[236.34,184.82,218.89,null],[393.47,281.19,218.89,null],[1869.53,1813.39,1321.08,5646.42],[2146.81,2638.54,1684.95,5646.42],[871.42,887.3,594.45,538.99],[1014.93,1048.14,594.45,538.99],[955.93,1051.5,418.92,1624.52],[1055.56,1729.45,418.92,1624.52],[220.46,null,161.73,null],[360.16,null,161.73,null],[1007.04,537.52,356.46,231.84],[1129.66,725.32,356.46,231.84],[5004.64,4631.73,3316.02,8734.63],[6162.98,6433.78,3995.11,13727.01],[1677.18,1746.76,952.05,9179.44],[2310.61,2306.18,1078.41,9706.62],[652.4,949.42,759.31,3837.42],[712.22,1198.83,927.48,3837.42],[527.93,316.18,454.73,3384.84],[738.82,422.57,454.73,3384.84],[541.01,906.16,437.49,1355.06],[717.46,906.16,556.68,1355.06],[2518.14,3262.11,3018.14,7595.78],[3019.08,3945.61,3554.04,7595.78],[8476.07,8258.54,5960.21,19294.85],[10448.66,10548.47,6688.79,25807.35],[1973.23,1805.62,1053.23,5033.19],[2601.99,2152.51,1294.96,5985.75],[1304.99,1039.04,311.97,223.09],[1671.49,1153.3,311.97,446.18],[1274.22,1727.11,1324.48,2185.98],[1368.62,1943.0,1749.62,2185.98],[1558.28,952.3,1563.19,4344.16],[1952.49,1226.85,2208.04,6919.63],[408.96,549.99,174.34,2834.07],[646.74,790.98,174.34,2834.07],[1802.4,1450.21,1567.11,4056.46],[2176.17,1686.28,1704.0,4879.18],[772.05,876.39,771.44,6328.89],[1048.43,876.39,858.2,6328.89],[1096.89,541.59,612.65,1184.6],[1259.77,541.59,612.65,1184.6],[1585.4,1291.99,616.68,1649.85],[1995.05,1291.99,616.68,1886.52],[9041.19,8688.2,7196.91,19327.65],[11279.19,10307.9,8293.87,22670.23],[3201.61,2547.68,2806.15,7141.49],[3617.53,2863.09,3446.67,7397.6],[571.06,750.01,810.47,523.09],[681.94,750.01,1176.32,523.09],[18.7,null,null,null],[18.7,null,null,null],[790.0,869.41,659.24,2664.71],[963.08,890.67,926.38,2664.71],[2294.87,2170.62,2137.33,3676.86],[2725.93,2380.37,2158.09,3676.86],[11367.24,11524.88,8522.94,25996.75],[13561.15,13729.96,9700.71,30393.45],[1478.95,1839.72,1030.04,5663.31],[1514.89,2325.39,1366.28,5663.31],[638.98,758.13,396.08,3426.72],[893.14,758.13,396.08,3426.72],[316.43,299.91,96.27,1128.03],[454.71,383.62,178.1,3384.09],[597.1,596.79,190.5,null],[701.11,596.79,373.65,null],[739.23,567.73,137.81,null],[969.9,893.17,172.97,null],[462.58,540.36,326.03,null],[523.96,540.36,440.93,null],[1213.9,676.67,801.92,1772.62],[1575.07,1173.63,801.92,2074.55],[1069.48,1244.55,835.05,5211.52],[1394.01,1429.29,835.05,6042.93],[978.06,925.18,528.25,3787.89],[1225.73,1010.03,973.49,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[{\"data\":[[null,8804.49],[3205.41,null],[null,5982.7],[3939.72,null],[null,8467.68],[3542.07,null],[null,4503.79],[2349.06,null],[null,7745.42],[5617.86,null],[null,8189.130000000001],[3157.96,null],[null,8546.58],[3763.37,null],[null,2558.1],[770.11,null],[null,176.71],[102.03,null],[null,13572.17],[7939.25,null],[null,640.05],[393.47,null],[null,10650.42],[5646.42,null],[null,2892.16],[1048.14,null],[null,4050.87],[1729.45,null],[null,382.19],[360.16,null],[null,2132.86],[1129.66,null],[null,21687.019999999997],[13727.01,null],[null,13555.43],[9706.62,null],[null,6198.55],[3837.42,null],[null,4683.68],[3384.84,null],[null,3239.7200000000003],[1355.06,null],[null,16394.17],[7595.78,null],[null,41989.67],[25807.35,null],[null,9865.269999999999],[5985.75,null],[null,2879.09],[1671.49,null],[null,6511.790000000001],[2185.98,null],[null,8417.93],[6919.63,null],[null,3967.36],[2834.07,null],[null,8876.18],[4879.18,null],[null,8748.77],[6328.89,null],[null,3435.73],[1259.77,null],[null,5143.92],[1995.05,null],[null,44253.95000000001],[22670.23,null],[null,15696.93],[7397.6,null],[null,2654.63],[1176.32,null],[null,18.7],[18.7,null],[null,4983.36],[2664.71,null],[null,10279.68],[3676.86,null],[null,57411.81],[30393.45,null],[null,10012.02],[5663.31,null],[null,5219.91],[3426.72,null],[null,1840.64],[3384.09,null],[null,1384.3899999999999],[701.11,null],[null,1444.77],[969.9,null],[null,1328.9699999999998],[540.36,null],[null,4465.110000000001],[2074.55,null],[null,8360.6],[6042.93,null],[null,6219.379999999999],[4246.86,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_0\"]}],\"paging\":{\"count\":[96,4],\"offset\":[0,0],\"total\":[96,4]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.json deleted file mode 100644 index 764616c88..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"state\", \"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"region\", \"product_category\"], \"localIdentifier\": \"dim_1\"}], \"totals\": [{\"function\": \"SUM\", \"localIdentifier\": \"grand_total1\", \"metric\": \"price\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_0\", \"totalDimensionItems\": [\"state\", \"measureGroup\"]}]}, {\"function\": \"MAX\", \"localIdentifier\": \"grand_total2\", \"metric\": \"order_amount\", \"totalDimensions\": [{\"dimensionIdentifier\": \"dim_0\", \"totalDimensionItems\": [\"state\", \"measureGroup\"]}]}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3a6968f199b17667" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"8f70b1cf8e62c66d0789756c459d423dda15fba1\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8f70b1cf8e62c66d0789756c459d423dda15fba1?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "af4d2243539a9fa5" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "24905" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[null,null,null,null,null,null,null,null,652.4,949.42,759.31,3837.42,null,null,null,null,null],[null,null,null,null,null,null,null,null,712.22,1198.83,927.48,3837.42,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,790.0,869.41,659.24,2664.71],[null,null,null,null,null,null,null,null,null,null,null,null,null,963.08,890.67,926.38,2664.71],[null,null,null,null,null,null,null,null,null,null,null,null,null,2294.87,2170.62,2137.33,3676.86],[null,null,null,null,null,null,null,null,null,null,null,null,null,2725.93,2380.37,2158.09,3676.86],[null,null,null,null,null,null,null,null,527.93,316.18,454.73,3384.84,null,null,null,null,null],[null,null,null,null,null,null,null,null,738.82,422.57,454.73,3384.84,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,11367.24,11524.88,8522.94,25996.75],[null,null,null,null,null,null,null,null,null,null,null,null,null,13561.15,13729.96,9700.71,30393.45],[null,null,null,null,null,null,null,null,null,null,null,null,null,1478.95,1839.72,1030.04,5663.31],[null,null,null,null,null,null,null,null,null,null,null,null,null,1514.89,2325.39,1366.28,5663.31],[null,null,null,null,871.42,887.3,594.45,538.99,null,null,null,null,null,null,null,null,null],[null,null,null,null,1014.93,1048.14,594.45,538.99,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,541.01,906.16,437.49,1355.06,null,null,null,null,null],[null,null,null,null,null,null,null,null,717.46,906.16,556.68,1355.06,null,null,null,null,null],[null,null,null,null,null,null,null,null,2518.14,3262.11,3018.14,7595.78,null,null,null,null,null],[null,null,null,null,null,null,null,null,3019.08,3945.61,3554.04,7595.78,null,null,null,null,null],[null,null,null,null,null,null,null,null,8476.07,8258.54,5960.21,19294.85,null,null,null,null,null],[null,null,null,null,null,null,null,null,10448.66,10548.47,6688.79,25807.35,null,null,null,null,null],[null,null,null,null,null,null,null,null,1973.23,1805.62,1053.23,5033.19,null,null,null,null,null],[null,null,null,null,null,null,null,null,2601.99,2152.51,1294.96,5985.75,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,638.98,758.13,396.08,3426.72],[null,null,null,null,null,null,null,null,null,null,null,null,null,893.14,758.13,396.08,3426.72],[null,null,null,null,null,null,null,null,null,null,null,null,null,316.43,299.91,96.27,1128.03],[null,null,null,null,null,null,null,null,null,null,null,null,null,454.71,383.62,178.1,3384.09],[2018.99,1936.08,1644.01,3205.41,null,null,null,null,null,null,null,null,null,null,null,null,null],[2535.21,2325.5,1667.22,3205.41,null,null,null,null,null,null,null,null,null,null,null,null,null],[963.25,1115.49,286.41,3617.55,null,null,null,null,null,null,null,null,null,null,null,null,null],[1190.44,1178.01,286.41,3939.72,null,null,null,null,null,null,null,null,null,null,null,null,null],[1858.1,1819.59,1491.35,3298.64,null,null,null,null,null,null,null,null,null,null,null,null,null],[2263.12,2474.87,1491.35,3542.07,null,null,null,null,null,null,null,null,null,null,null,null,null],[802.06,603.3,749.37,2349.06,null,null,null,null,null,null,null,null,null,null,null,null,null],[882.27,674.41,864.05,2349.06,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,1304.99,1039.04,311.97,223.09,null,null,null,null,null],[null,null,null,null,null,null,null,null,1671.49,1153.3,311.97,446.18,null,null,null,null,null],[null,null,null,null,null,null,null,null,1274.22,1727.11,1324.48,2185.98,null,null,null,null,null],[null,null,null,null,null,null,null,null,1368.62,1943.0,1749.62,2185.98,null,null,null,null,null],[null,null,null,null,null,null,null,null,1558.28,952.3,1563.19,4344.16,null,null,null,null,null],[null,null,null,null,null,null,null,null,1952.49,1226.85,2208.04,6919.63,null,null,null,null,null],[null,null,null,null,955.93,1051.5,418.92,1624.52,null,null,null,null,null,null,null,null,null],[null,null,null,null,1055.56,1729.45,418.92,1624.52,null,null,null,null,null,null,null,null,null],[989.47,1581.46,1817.19,3357.3,null,null,null,null,null,null,null,null,null,null,null,null,null],[1104.14,1767.83,2663.57,5617.86,null,null,null,null,null,null,null,null,null,null,null,null,null],[1915.46,2329.01,1264.88,2679.78,null,null,null,null,null,null,null,null,null,null,null,null,null],[2369.61,2826.18,1311.02,3157.96,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,408.96,549.99,174.34,2834.07,null,null,null,null,null],[null,null,null,null,null,null,null,null,646.74,790.98,174.34,2834.07,null,null,null,null,null],[2065.18,1512.2,1922.63,3046.57,null,null,null,null,null,null,null,null,null,null,null,null,null],[2541.12,1961.18,2653.67,3763.37,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,597.1,596.79,190.5,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,701.11,596.79,373.65,null],[586.37,770.11,535.43,666.19,null,null,null,null,null,null,null,null,null,null,null,null,null],[742.46,770.11,535.43,666.19,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,739.23,567.73,137.81,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,969.9,893.17,172.97,null],[null,null,null,null,220.46,null,161.73,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,360.16,null,161.73,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,1007.04,537.52,356.46,231.84,null,null,null,null,null,null,null,null,null],[null,null,null,null,1129.66,725.32,356.46,231.84,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,462.58,540.36,326.03,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,523.96,540.36,440.93,null],[null,null,null,null,5004.64,4631.73,3316.02,8734.63,null,null,null,null,null,null,null,null,null],[null,null,null,null,6162.98,6433.78,3995.11,13727.01,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,1802.4,1450.21,1567.11,4056.46,null,null,null,null,null],[null,null,null,null,null,null,null,null,2176.17,1686.28,1704.0,4879.18,null,null,null,null,null],[102.03,60.78,13.9,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[102.03,60.78,13.9,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[3463.82,3532.76,2498.84,4076.75,null,null,null,null,null,null,null,null,null,null,null,null,null],[4467.47,4133.16,3377.52,7939.25,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,772.05,876.39,771.44,6328.89,null,null,null,null,null],[null,null,null,null,null,null,null,null,1048.43,876.39,858.2,6328.89,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,1213.9,676.67,801.92,1772.62],[null,null,null,null,null,null,null,null,null,null,null,null,null,1575.07,1173.63,801.92,2074.55],[null,null,null,null,1677.18,1746.76,952.05,9179.44,null,null,null,null,null,null,null,null,null],[null,null,null,null,2310.61,2306.18,1078.41,9706.62,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,18.7,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,18.7,null,null,null,null],[null,null,null,null,null,null,null,null,1096.89,541.59,612.65,1184.6,null,null,null,null,null],[null,null,null,null,null,null,null,null,1259.77,541.59,612.65,1184.6,null,null,null,null,null],[236.34,184.82,218.89,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[393.47,281.19,218.89,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,1585.4,1291.99,616.68,1649.85,null,null,null,null,null],[null,null,null,null,null,null,null,null,1995.05,1291.99,616.68,1886.52,null,null,null,null,null],[null,null,null,null,null,null,null,null,9041.19,8688.2,7196.91,19327.65,null,null,null,null,null],[null,null,null,null,null,null,null,null,11279.19,10307.9,8293.87,22670.23,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,1069.48,1244.55,835.05,5211.52],[null,null,null,null,null,null,null,null,null,null,null,null,null,1394.01,1429.29,835.05,6042.93],[null,null,null,null,null,null,null,null,3201.61,2547.68,2806.15,7141.49,null,null,null,null,null],[null,null,null,null,null,null,null,null,3617.53,2863.09,3446.67,7397.6,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,978.06,925.18,528.25,3787.89],[null,null,null,null,null,null,null,null,null,null,null,null,null,1225.73,1010.03,973.49,4246.86],[null,null,null,null,null,null,null,null,571.06,750.01,810.47,523.09,null,null,null,null,null],[null,null,null,null,null,null,null,null,681.94,750.01,1176.32,523.09,null,null,null,null,null],[1869.53,1813.39,1321.08,5646.42,null,null,null,null,null,null,null,null,null,null,null,null,null],[2146.81,2638.54,1684.95,5646.42,null,null,null,null,null,null,null,null,null,null,null,null,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[{\"data\":[[null,6198.55],[3837.42,null],[null,4983.36],[2664.71,null],[null,10279.68],[3676.86,null],[null,4683.68],[3384.84,null],[null,57411.81],[30393.45,null],[null,10012.02],[5663.31,null],[null,2892.16],[1048.14,null],[null,3239.7200000000003],[1355.06,null],[null,16394.17],[7595.78,null],[null,41989.67],[25807.35,null],[null,9865.269999999999],[5985.75,null],[null,5219.91],[3426.72,null],[null,1840.64],[3384.09,null],[null,8804.49],[3205.41,null],[null,5982.7],[3939.72,null],[null,8467.68],[3542.07,null],[null,4503.79],[2349.06,null],[null,2879.09],[1671.49,null],[null,6511.790000000001],[2185.98,null],[null,8417.93],[6919.63,null],[null,4050.87],[1729.45,null],[null,7745.42],[5617.86,null],[null,8189.130000000001],[3157.96,null],[null,3967.36],[2834.07,null],[null,8546.58],[3763.37,null],[null,1384.3899999999999],[701.11,null],[null,2558.1],[770.11,null],[null,1444.77],[969.9,null],[null,382.19],[360.16,null],[null,2132.86],[1129.66,null],[null,1328.9699999999998],[540.36,null],[null,21687.019999999997],[13727.01,null],[null,8876.18],[4879.18,null],[null,176.71],[102.03,null],[null,13572.17],[7939.25,null],[null,8748.77],[6328.89,null],[null,4465.110000000001],[2074.55,null],[null,13555.43],[9706.62,null],[null,18.7],[18.7,null],[null,3435.73],[1259.77,null],[null,640.05],[393.47,null],[null,5143.92],[1995.05,null],[null,44253.95000000001],[22670.23,null],[null,8360.6],[6042.93,null],[null,15696.93],[7397.6,null],[null,6219.379999999999],[4246.86,null],[null,2654.63],[1176.32,null],[null,10650.42],[5646.42,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]},{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_0\"]}],\"paging\":{\"count\":[96,17],\"offset\":[0,0],\"total\":[96,17]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8f70b1cf8e62c66d0789756c459d423dda15fba1/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "83771fc9080f60eb" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2304" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"8f70b1cf8e62c66d0789756c459d423dda15fba1\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"state\",\"measureGroup\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"region\",\"product_category\"],\"sorting\":[]}],\"totals\":[{\"localIdentifier\":\"grand_total1\",\"function\":\"SUM\",\"metric\":\"price\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_0\",\"totalDimensionItems\":[\"state\",\"measureGroup\"]}]},{\"localIdentifier\":\"grand_total2\",\"function\":\"MAX\",\"metric\":\"order_amount\",\"totalDimensions\":[{\"dimensionIdentifier\":\"dim_0\",\"totalDimensionItems\":[\"state\",\"measureGroup\"]}]}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8f70b1cf8e62c66d0789756c459d423dda15fba1?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c6ead2e998b259a1" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:59 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "24905" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[null,null,null,null,null,null,null,null,652.4,949.42,759.31,3837.42,null,null,null,null,null],[null,null,null,null,null,null,null,null,712.22,1198.83,927.48,3837.42,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,790.0,869.41,659.24,2664.71],[null,null,null,null,null,null,null,null,null,null,null,null,null,963.08,890.67,926.38,2664.71],[null,null,null,null,null,null,null,null,null,null,null,null,null,2294.87,2170.62,2137.33,3676.86],[null,null,null,null,null,null,null,null,null,null,null,null,null,2725.93,2380.37,2158.09,3676.86],[null,null,null,null,null,null,null,null,527.93,316.18,454.73,3384.84,null,null,null,null,null],[null,null,null,null,null,null,null,null,738.82,422.57,454.73,3384.84,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,11367.24,11524.88,8522.94,25996.75],[null,null,null,null,null,null,null,null,null,null,null,null,null,13561.15,13729.96,9700.71,30393.45],[null,null,null,null,null,null,null,null,null,null,null,null,null,1478.95,1839.72,1030.04,5663.31],[null,null,null,null,null,null,null,null,null,null,null,null,null,1514.89,2325.39,1366.28,5663.31],[null,null,null,null,871.42,887.3,594.45,538.99,null,null,null,null,null,null,null,null,null],[null,null,null,null,1014.93,1048.14,594.45,538.99,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,541.01,906.16,437.49,1355.06,null,null,null,null,null],[null,null,null,null,null,null,null,null,717.46,906.16,556.68,1355.06,null,null,null,null,null],[null,null,null,null,null,null,null,null,2518.14,3262.11,3018.14,7595.78,null,null,null,null,null],[null,null,null,null,null,null,null,null,3019.08,3945.61,3554.04,7595.78,null,null,null,null,null],[null,null,null,null,null,null,null,null,8476.07,8258.54,5960.21,19294.85,null,null,null,null,null],[null,null,null,null,null,null,null,null,10448.66,10548.47,6688.79,25807.35,null,null,null,null,null],[null,null,null,null,null,null,null,null,1973.23,1805.62,1053.23,5033.19,null,null,null,null,null],[null,null,null,null,null,null,null,null,2601.99,2152.51,1294.96,5985.75,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,638.98,758.13,396.08,3426.72],[null,null,null,null,null,null,null,null,null,null,null,null,null,893.14,758.13,396.08,3426.72],[null,null,null,null,null,null,null,null,null,null,null,null,null,316.43,299.91,96.27,1128.03],[null,null,null,null,null,null,null,null,null,null,null,null,null,454.71,383.62,178.1,3384.09],[2018.99,1936.08,1644.01,3205.41,null,null,null,null,null,null,null,null,null,null,null,null,null],[2535.21,2325.5,1667.22,3205.41,null,null,null,null,null,null,null,null,null,null,null,null,null],[963.25,1115.49,286.41,3617.55,null,null,null,null,null,null,null,null,null,null,null,null,null],[1190.44,1178.01,286.41,3939.72,null,null,null,null,null,null,null,null,null,null,null,null,null],[1858.1,1819.59,1491.35,3298.64,null,null,null,null,null,null,null,null,null,null,null,null,null],[2263.12,2474.87,1491.35,3542.07,null,null,null,null,null,null,null,null,null,null,null,null,null],[802.06,603.3,749.37,2349.06,null,null,null,null,null,null,null,null,null,null,null,null,null],[882.27,674.41,864.05,2349.06,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,1304.99,1039.04,311.97,223.09,null,null,null,null,null],[null,null,null,null,null,null,null,null,1671.49,1153.3,311.97,446.18,null,null,null,null,null],[null,null,null,null,null,null,null,null,1274.22,1727.11,1324.48,2185.98,null,null,null,null,null],[null,null,null,null,null,null,null,null,1368.62,1943.0,1749.62,2185.98,null,null,null,null,null],[null,null,null,null,null,null,null,null,1558.28,952.3,1563.19,4344.16,null,null,null,null,null],[null,null,null,null,null,null,null,null,1952.49,1226.85,2208.04,6919.63,null,null,null,null,null],[null,null,null,null,955.93,1051.5,418.92,1624.52,null,null,null,null,null,null,null,null,null],[null,null,null,null,1055.56,1729.45,418.92,1624.52,null,null,null,null,null,null,null,null,null],[989.47,1581.46,1817.19,3357.3,null,null,null,null,null,null,null,null,null,null,null,null,null],[1104.14,1767.83,2663.57,5617.86,null,null,null,null,null,null,null,null,null,null,null,null,null],[1915.46,2329.01,1264.88,2679.78,null,null,null,null,null,null,null,null,null,null,null,null,null],[2369.61,2826.18,1311.02,3157.96,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,408.96,549.99,174.34,2834.07,null,null,null,null,null],[null,null,null,null,null,null,null,null,646.74,790.98,174.34,2834.07,null,null,null,null,null],[2065.18,1512.2,1922.63,3046.57,null,null,null,null,null,null,null,null,null,null,null,null,null],[2541.12,1961.18,2653.67,3763.37,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,597.1,596.79,190.5,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,701.11,596.79,373.65,null],[586.37,770.11,535.43,666.19,null,null,null,null,null,null,null,null,null,null,null,null,null],[742.46,770.11,535.43,666.19,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,739.23,567.73,137.81,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,969.9,893.17,172.97,null],[null,null,null,null,220.46,null,161.73,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,360.16,null,161.73,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,1007.04,537.52,356.46,231.84,null,null,null,null,null,null,null,null,null],[null,null,null,null,1129.66,725.32,356.46,231.84,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,462.58,540.36,326.03,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,523.96,540.36,440.93,null],[null,null,null,null,5004.64,4631.73,3316.02,8734.63,null,null,null,null,null,null,null,null,null],[null,null,null,null,6162.98,6433.78,3995.11,13727.01,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,1802.4,1450.21,1567.11,4056.46,null,null,null,null,null],[null,null,null,null,null,null,null,null,2176.17,1686.28,1704.0,4879.18,null,null,null,null,null],[102.03,60.78,13.9,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[102.03,60.78,13.9,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[3463.82,3532.76,2498.84,4076.75,null,null,null,null,null,null,null,null,null,null,null,null,null],[4467.47,4133.16,3377.52,7939.25,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,772.05,876.39,771.44,6328.89,null,null,null,null,null],[null,null,null,null,null,null,null,null,1048.43,876.39,858.2,6328.89,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,1213.9,676.67,801.92,1772.62],[null,null,null,null,null,null,null,null,null,null,null,null,null,1575.07,1173.63,801.92,2074.55],[null,null,null,null,1677.18,1746.76,952.05,9179.44,null,null,null,null,null,null,null,null,null],[null,null,null,null,2310.61,2306.18,1078.41,9706.62,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,18.7,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,18.7,null,null,null,null],[null,null,null,null,null,null,null,null,1096.89,541.59,612.65,1184.6,null,null,null,null,null],[null,null,null,null,null,null,null,null,1259.77,541.59,612.65,1184.6,null,null,null,null,null],[236.34,184.82,218.89,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[393.47,281.19,218.89,null,null,null,null,null,null,null,null,null,null,null,null,null,null],[null,null,null,null,null,null,null,null,1585.4,1291.99,616.68,1649.85,null,null,null,null,null],[null,null,null,null,null,null,null,null,1995.05,1291.99,616.68,1886.52,null,null,null,null,null],[null,null,null,null,null,null,null,null,9041.19,8688.2,7196.91,19327.65,null,null,null,null,null],[null,null,null,null,null,null,null,null,11279.19,10307.9,8293.87,22670.23,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,1069.48,1244.55,835.05,5211.52],[null,null,null,null,null,null,null,null,null,null,null,null,null,1394.01,1429.29,835.05,6042.93],[null,null,null,null,null,null,null,null,3201.61,2547.68,2806.15,7141.49,null,null,null,null,null],[null,null,null,null,null,null,null,null,3617.53,2863.09,3446.67,7397.6,null,null,null,null,null],[null,null,null,null,null,null,null,null,null,null,null,null,null,978.06,925.18,528.25,3787.89],[null,null,null,null,null,null,null,null,null,null,null,null,null,1225.73,1010.03,973.49,4246.86],[null,null,null,null,null,null,null,null,571.06,750.01,810.47,523.09,null,null,null,null,null],[null,null,null,null,null,null,null,null,681.94,750.01,1176.32,523.09,null,null,null,null,null],[1869.53,1813.39,1321.08,5646.42,null,null,null,null,null,null,null,null,null,null,null,null,null],[2146.81,2638.54,1684.95,5646.42,null,null,null,null,null,null,null,null,null,null,null,null,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[{\"data\":[[null,6198.55],[3837.42,null],[null,4983.36],[2664.71,null],[null,10279.68],[3676.86,null],[null,4683.68],[3384.84,null],[null,57411.81],[30393.45,null],[null,10012.02],[5663.31,null],[null,2892.16],[1048.14,null],[null,3239.7200000000003],[1355.06,null],[null,16394.17],[7595.78,null],[null,41989.67],[25807.35,null],[null,9865.269999999999],[5985.75,null],[null,5219.91],[3426.72,null],[null,1840.64],[3384.09,null],[null,8804.49],[3205.41,null],[null,5982.7],[3939.72,null],[null,8467.68],[3542.07,null],[null,4503.79],[2349.06,null],[null,2879.09],[1671.49,null],[null,6511.790000000001],[2185.98,null],[null,8417.93],[6919.63,null],[null,4050.87],[1729.45,null],[null,7745.42],[5617.86,null],[null,8189.130000000001],[3157.96,null],[null,3967.36],[2834.07,null],[null,8546.58],[3763.37,null],[null,1384.3899999999999],[701.11,null],[null,2558.1],[770.11,null],[null,1444.77],[969.9,null],[null,382.19],[360.16,null],[null,2132.86],[1129.66,null],[null,1328.9699999999998],[540.36,null],[null,21687.019999999997],[13727.01,null],[null,8876.18],[4879.18,null],[null,176.71],[102.03,null],[null,13572.17],[7939.25,null],[null,8748.77],[6328.89,null],[null,4465.110000000001],[2074.55,null],[null,13555.43],[9706.62,null],[null,18.7],[18.7,null],[null,3435.73],[1259.77,null],[null,640.05],[393.47,null],[null,5143.92],[1995.05,null],[null,44253.95000000001],[22670.23,null],[null,8360.6],[6042.93,null],[null,15696.93],[7397.6,null],[null,6219.379999999999],[4246.86,null],[null,2654.63],[1176.32,null],[null,10650.42],[5646.42,null]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]},{\"headers\":[{\"totalHeader\":{\"function\":\"MAX\"}},{\"totalHeader\":{\"function\":\"SUM\"}}]}]}],\"totalDimensions\":[\"dim_0\"]}],\"paging\":{\"count\":[96,17],\"offset\":[0,0],\"total\":[96,17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.json deleted file mode 100644 index 4b69e63f3..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.json +++ /dev/null @@ -1,536 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"state\", \"region\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"product_category\", \"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ecb89c21c6fcd157" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:54 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"73ebe05e9331f25e120978245f74fe5e5ecb18ba\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/73ebe05e9331f25e120978245f74fe5e5ecb18ba?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d6c39fae79171072" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:54 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "11303" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42],[790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71],[2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86],[527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84],[11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45],[1478.95,1514.89,1839.72,2325.39,1030.04,1366.28,5663.31,5663.31],[871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99],[541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06],[2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78],[8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35],[1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75],[638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72],[316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09],[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41],[963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72],[1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07],[802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06],[1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18],[1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98],[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63],[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52],[989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86],[1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96],[408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07],[2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37],[597.1,701.11,596.79,596.79,190.5,373.65,null,null],[586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19],[739.23,969.9,567.73,893.17,137.81,172.97,null,null],[220.46,360.16,null,null,161.73,161.73,null,null],[1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84],[462.58,523.96,540.36,540.36,326.03,440.93,null,null],[5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01],[1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18],[102.03,102.03,60.78,60.78,13.9,13.9,null,null],[3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25],[772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89],[1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55],[1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62],[18.7,18.7,null,null,null,null,null,null],[1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6],[236.34,393.47,184.82,281.19,218.89,218.89,null,null],[1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52],[9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23],[1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93],[3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6],[978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86],[571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09],[1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[48,8],\"offset\":[0,0],\"total\":[48,8]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/73ebe05e9331f25e120978245f74fe5e5ecb18ba/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "8c026f0024ade83b" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:55 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1962" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"73ebe05e9331f25e120978245f74fe5e5ecb18ba\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"state\",\"region\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"product_category\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/73ebe05e9331f25e120978245f74fe5e5ecb18ba?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c66073c7f3c6115e" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:55 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "11303" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42],[790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71],[2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86],[527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84],[11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45],[1478.95,1514.89,1839.72,2325.39,1030.04,1366.28,5663.31,5663.31],[871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99],[541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06],[2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78],[8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35],[1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75],[638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72],[316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09],[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41],[963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72],[1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07],[802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06],[1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18],[1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98],[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63],[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52],[989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86],[1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96],[408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07],[2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37],[597.1,701.11,596.79,596.79,190.5,373.65,null,null],[586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19],[739.23,969.9,567.73,893.17,137.81,172.97,null,null],[220.46,360.16,null,null,161.73,161.73,null,null],[1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84],[462.58,523.96,540.36,540.36,326.03,440.93,null,null],[5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01],[1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18],[102.03,102.03,60.78,60.78,13.9,13.9,null,null],[3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25],[772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89],[1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55],[1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62],[18.7,18.7,null,null,null,null,null,null],[1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6],[236.34,393.47,184.82,281.19,218.89,218.89,null,null],[1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52],[9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23],[1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93],[3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6],[978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86],[571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09],[1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[48,8],\"offset\":[0,0],\"total\":[48,8]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/73ebe05e9331f25e120978245f74fe5e5ecb18ba/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "98de942132403174" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:55 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1962" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"73ebe05e9331f25e120978245f74fe5e5ecb18ba\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"state\",\"region\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"product_category\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/73ebe05e9331f25e120978245f74fe5e5ecb18ba?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fa9d1fde22bc7304" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:55 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "11303" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[652.4,712.22,949.42,1198.83,759.31,927.48,3837.42,3837.42],[790.0,963.08,869.41,890.67,659.24,926.38,2664.71,2664.71],[2294.87,2725.93,2170.62,2380.37,2137.33,2158.09,3676.86,3676.86],[527.93,738.82,316.18,422.57,454.73,454.73,3384.84,3384.84],[11367.24,13561.15,11524.88,13729.96,8522.94,9700.71,25996.75,30393.45],[1478.95,1514.89,1839.72,2325.39,1030.04,1366.28,5663.31,5663.31],[871.42,1014.93,887.3,1048.14,594.45,594.45,538.99,538.99],[541.01,717.46,906.16,906.16,437.49,556.68,1355.06,1355.06],[2518.14,3019.08,3262.11,3945.61,3018.14,3554.04,7595.78,7595.78],[8476.07,10448.66,8258.54,10548.47,5960.21,6688.79,19294.85,25807.35],[1973.23,2601.99,1805.62,2152.51,1053.23,1294.96,5033.19,5985.75],[638.98,893.14,758.13,758.13,396.08,396.08,3426.72,3426.72],[316.43,454.71,299.91,383.62,96.27,178.1,1128.03,3384.09],[2018.99,2535.21,1936.08,2325.5,1644.01,1667.22,3205.41,3205.41],[963.25,1190.44,1115.49,1178.01,286.41,286.41,3617.55,3939.72],[1858.1,2263.12,1819.59,2474.87,1491.35,1491.35,3298.64,3542.07],[802.06,882.27,603.3,674.41,749.37,864.05,2349.06,2349.06],[1304.99,1671.49,1039.04,1153.3,311.97,311.97,223.09,446.18],[1274.22,1368.62,1727.11,1943.0,1324.48,1749.62,2185.98,2185.98],[1558.28,1952.49,952.3,1226.85,1563.19,2208.04,4344.16,6919.63],[955.93,1055.56,1051.5,1729.45,418.92,418.92,1624.52,1624.52],[989.47,1104.14,1581.46,1767.83,1817.19,2663.57,3357.3,5617.86],[1915.46,2369.61,2329.01,2826.18,1264.88,1311.02,2679.78,3157.96],[408.96,646.74,549.99,790.98,174.34,174.34,2834.07,2834.07],[2065.18,2541.12,1512.2,1961.18,1922.63,2653.67,3046.57,3763.37],[597.1,701.11,596.79,596.79,190.5,373.65,null,null],[586.37,742.46,770.11,770.11,535.43,535.43,666.19,666.19],[739.23,969.9,567.73,893.17,137.81,172.97,null,null],[220.46,360.16,null,null,161.73,161.73,null,null],[1007.04,1129.66,537.52,725.32,356.46,356.46,231.84,231.84],[462.58,523.96,540.36,540.36,326.03,440.93,null,null],[5004.64,6162.98,4631.73,6433.78,3316.02,3995.11,8734.63,13727.01],[1802.4,2176.17,1450.21,1686.28,1567.11,1704.0,4056.46,4879.18],[102.03,102.03,60.78,60.78,13.9,13.9,null,null],[3463.82,4467.47,3532.76,4133.16,2498.84,3377.52,4076.75,7939.25],[772.05,1048.43,876.39,876.39,771.44,858.2,6328.89,6328.89],[1213.9,1575.07,676.67,1173.63,801.92,801.92,1772.62,2074.55],[1677.18,2310.61,1746.76,2306.18,952.05,1078.41,9179.44,9706.62],[18.7,18.7,null,null,null,null,null,null],[1096.89,1259.77,541.59,541.59,612.65,612.65,1184.6,1184.6],[236.34,393.47,184.82,281.19,218.89,218.89,null,null],[1585.4,1995.05,1291.99,1291.99,616.68,616.68,1649.85,1886.52],[9041.19,11279.19,8688.2,10307.9,7196.91,8293.87,19327.65,22670.23],[1069.48,1394.01,1244.55,1429.29,835.05,835.05,5211.52,6042.93],[3201.61,3617.53,2547.68,2863.09,2806.15,3446.67,7141.49,7397.6],[978.06,1225.73,925.18,1010.03,528.25,973.49,3787.89,4246.86],[571.06,681.94,750.01,750.01,810.47,1176.32,523.09,523.09],[1869.53,2146.81,1813.39,2638.54,1321.08,1684.95,5646.42,5646.42]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[48,8],\"offset\":[0,0],\"total\":[48,8]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.json deleted file mode 100644 index 164c8d764..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.json +++ /dev/null @@ -1,536 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"region\", \"state\", \"product_category\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "793bb2cf9f25caf4" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:56 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"5f7ef7ff31a6aae8b65befb3195abf70b46dd17d\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f7ef7ff31a6aae8b65befb3195abf70b46dd17d?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0b30897693279ac8" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:56 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "24936" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21],[1936.08,2325.5],[1644.01,1667.22],[3205.41,3205.41],[963.25,1190.44],[1115.49,1178.01],[286.41,286.41],[3617.55,3939.72],[1858.1,2263.12],[1819.59,2474.87],[1491.35,1491.35],[3298.64,3542.07],[802.06,882.27],[603.3,674.41],[749.37,864.05],[2349.06,2349.06],[989.47,1104.14],[1581.46,1767.83],[1817.19,2663.57],[3357.3,5617.86],[1915.46,2369.61],[2329.01,2826.18],[1264.88,1311.02],[2679.78,3157.96],[2065.18,2541.12],[1512.2,1961.18],[1922.63,2653.67],[3046.57,3763.37],[586.37,742.46],[770.11,770.11],[535.43,535.43],[666.19,666.19],[102.03,102.03],[60.78,60.78],[13.9,13.9],[3463.82,4467.47],[3532.76,4133.16],[2498.84,3377.52],[4076.75,7939.25],[236.34,393.47],[184.82,281.19],[218.89,218.89],[1869.53,2146.81],[1813.39,2638.54],[1321.08,1684.95],[5646.42,5646.42],[871.42,1014.93],[887.3,1048.14],[594.45,594.45],[538.99,538.99],[955.93,1055.56],[1051.5,1729.45],[418.92,418.92],[1624.52,1624.52],[220.46,360.16],[161.73,161.73],[1007.04,1129.66],[537.52,725.32],[356.46,356.46],[231.84,231.84],[5004.64,6162.98],[4631.73,6433.78],[3316.02,3995.11],[8734.63,13727.01],[1677.18,2310.61],[1746.76,2306.18],[952.05,1078.41],[9179.44,9706.62],[652.4,712.22],[949.42,1198.83],[759.31,927.48],[3837.42,3837.42],[527.93,738.82],[316.18,422.57],[454.73,454.73],[3384.84,3384.84],[541.01,717.46],[906.16,906.16],[437.49,556.68],[1355.06,1355.06],[2518.14,3019.08],[3262.11,3945.61],[3018.14,3554.04],[7595.78,7595.78],[8476.07,10448.66],[8258.54,10548.47],[5960.21,6688.79],[19294.85,25807.35],[1973.23,2601.99],[1805.62,2152.51],[1053.23,1294.96],[5033.19,5985.75],[1304.99,1671.49],[1039.04,1153.3],[311.97,311.97],[223.09,446.18],[1274.22,1368.62],[1727.11,1943.0],[1324.48,1749.62],[2185.98,2185.98]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100,2],\"offset\":[0,0],\"total\":[182,2]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f7ef7ff31a6aae8b65befb3195abf70b46dd17d?offset=100%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "b39080391fb08a69" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:56 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "20020" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[1558.28,1952.49],[952.3,1226.85],[1563.19,2208.04],[4344.16,6919.63],[408.96,646.74],[549.99,790.98],[174.34,174.34],[2834.07,2834.07],[1802.4,2176.17],[1450.21,1686.28],[1567.11,1704.0],[4056.46,4879.18],[772.05,1048.43],[876.39,876.39],[771.44,858.2],[6328.89,6328.89],[1096.89,1259.77],[541.59,541.59],[612.65,612.65],[1184.6,1184.6],[1585.4,1995.05],[1291.99,1291.99],[616.68,616.68],[1649.85,1886.52],[9041.19,11279.19],[8688.2,10307.9],[7196.91,8293.87],[19327.65,22670.23],[3201.61,3617.53],[2547.68,2863.09],[2806.15,3446.67],[7141.49,7397.6],[571.06,681.94],[750.01,750.01],[810.47,1176.32],[523.09,523.09],[18.7,18.7],[790.0,963.08],[869.41,890.67],[659.24,926.38],[2664.71,2664.71],[2294.87,2725.93],[2170.62,2380.37],[2137.33,2158.09],[3676.86,3676.86],[11367.24,13561.15],[11524.88,13729.96],[8522.94,9700.71],[25996.75,30393.45],[1478.95,1514.89],[1839.72,2325.39],[1030.04,1366.28],[5663.31,5663.31],[638.98,893.14],[758.13,758.13],[396.08,396.08],[3426.72,3426.72],[316.43,454.71],[299.91,383.62],[96.27,178.1],[1128.03,3384.09],[597.1,701.11],[596.79,596.79],[190.5,373.65],[739.23,969.9],[567.73,893.17],[137.81,172.97],[462.58,523.96],[540.36,540.36],[326.03,440.93],[1213.9,1575.07],[676.67,1173.63],[801.92,801.92],[1772.62,2074.55],[1069.48,1394.01],[1244.55,1429.29],[835.05,835.05],[5211.52,6042.93],[978.06,1225.73],[925.18,1010.03],[528.25,973.49],[3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[82,2],\"offset\":[100,0],\"total\":[182,2]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f7ef7ff31a6aae8b65befb3195abf70b46dd17d/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "24e8250e6015c156" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:56 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1962" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"5f7ef7ff31a6aae8b65befb3195abf70b46dd17d\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"region\",\"state\",\"product_category\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"measureGroup\"],\"sorting\":[]}],\"totals\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f7ef7ff31a6aae8b65befb3195abf70b46dd17d?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fc2dd192df59964e" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:56 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "24936" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21],[1936.08,2325.5],[1644.01,1667.22],[3205.41,3205.41],[963.25,1190.44],[1115.49,1178.01],[286.41,286.41],[3617.55,3939.72],[1858.1,2263.12],[1819.59,2474.87],[1491.35,1491.35],[3298.64,3542.07],[802.06,882.27],[603.3,674.41],[749.37,864.05],[2349.06,2349.06],[989.47,1104.14],[1581.46,1767.83],[1817.19,2663.57],[3357.3,5617.86],[1915.46,2369.61],[2329.01,2826.18],[1264.88,1311.02],[2679.78,3157.96],[2065.18,2541.12],[1512.2,1961.18],[1922.63,2653.67],[3046.57,3763.37],[586.37,742.46],[770.11,770.11],[535.43,535.43],[666.19,666.19],[102.03,102.03],[60.78,60.78],[13.9,13.9],[3463.82,4467.47],[3532.76,4133.16],[2498.84,3377.52],[4076.75,7939.25],[236.34,393.47],[184.82,281.19],[218.89,218.89],[1869.53,2146.81],[1813.39,2638.54],[1321.08,1684.95],[5646.42,5646.42],[871.42,1014.93],[887.3,1048.14],[594.45,594.45],[538.99,538.99],[955.93,1055.56],[1051.5,1729.45],[418.92,418.92],[1624.52,1624.52],[220.46,360.16],[161.73,161.73],[1007.04,1129.66],[537.52,725.32],[356.46,356.46],[231.84,231.84],[5004.64,6162.98],[4631.73,6433.78],[3316.02,3995.11],[8734.63,13727.01],[1677.18,2310.61],[1746.76,2306.18],[952.05,1078.41],[9179.44,9706.62],[652.4,712.22],[949.42,1198.83],[759.31,927.48],[3837.42,3837.42],[527.93,738.82],[316.18,422.57],[454.73,454.73],[3384.84,3384.84],[541.01,717.46],[906.16,906.16],[437.49,556.68],[1355.06,1355.06],[2518.14,3019.08],[3262.11,3945.61],[3018.14,3554.04],[7595.78,7595.78],[8476.07,10448.66],[8258.54,10548.47],[5960.21,6688.79],[19294.85,25807.35],[1973.23,2601.99],[1805.62,2152.51],[1053.23,1294.96],[5033.19,5985.75],[1304.99,1671.49],[1039.04,1153.3],[311.97,311.97],[223.09,446.18],[1274.22,1368.62],[1727.11,1943.0],[1324.48,1749.62],[2185.98,2185.98]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[100,2],\"offset\":[0,0],\"total\":[182,2]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5f7ef7ff31a6aae8b65befb3195abf70b46dd17d?offset=100%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9b6cd570b6179c94" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:56 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "20020" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[1558.28,1952.49],[952.3,1226.85],[1563.19,2208.04],[4344.16,6919.63],[408.96,646.74],[549.99,790.98],[174.34,174.34],[2834.07,2834.07],[1802.4,2176.17],[1450.21,1686.28],[1567.11,1704.0],[4056.46,4879.18],[772.05,1048.43],[876.39,876.39],[771.44,858.2],[6328.89,6328.89],[1096.89,1259.77],[541.59,541.59],[612.65,612.65],[1184.6,1184.6],[1585.4,1995.05],[1291.99,1291.99],[616.68,616.68],[1649.85,1886.52],[9041.19,11279.19],[8688.2,10307.9],[7196.91,8293.87],[19327.65,22670.23],[3201.61,3617.53],[2547.68,2863.09],[2806.15,3446.67],[7141.49,7397.6],[571.06,681.94],[750.01,750.01],[810.47,1176.32],[523.09,523.09],[18.7,18.7],[790.0,963.08],[869.41,890.67],[659.24,926.38],[2664.71,2664.71],[2294.87,2725.93],[2170.62,2380.37],[2137.33,2158.09],[3676.86,3676.86],[11367.24,13561.15],[11524.88,13729.96],[8522.94,9700.71],[25996.75,30393.45],[1478.95,1514.89],[1839.72,2325.39],[1030.04,1366.28],[5663.31,5663.31],[638.98,893.14],[758.13,758.13],[396.08,396.08],[3426.72,3426.72],[316.43,454.71],[299.91,383.62],[96.27,178.1],[1128.03,3384.09],[597.1,701.11],[596.79,596.79],[190.5,373.65],[739.23,969.9],[567.73,893.17],[137.81,172.97],[462.58,523.96],[540.36,540.36],[326.03,440.93],[1213.9,1575.07],[676.67,1173.63],[801.92,801.92],[1772.62,2074.55],[1069.48,1394.01],[1244.55,1429.29],[835.05,835.05],[5211.52,6042.93],[978.06,1225.73],[925.18,1010.03],[528.25,973.49],[3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[82,2],\"offset\":[100,0],\"total\":[182,2]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.json deleted file mode 100644 index bcf43d3b6..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"region\"}, {\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"state\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"product_category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"product_category\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"region\", \"state\", \"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "b79726516e708372" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:57 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1097" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"8978157ea9d859ea858faaca9625fcbbe7ce7e15\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8978157ea9d859ea858faaca9625fcbbe7ce7e15?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "059524f3cc1a5631" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:57 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "21425" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21,963.25,1190.44,1858.1,2263.12,802.06,882.27,989.47,1104.14,1915.46,2369.61,2065.18,2541.12,586.37,742.46,102.03,102.03,3463.82,4467.47,236.34,393.47,1869.53,2146.81,871.42,1014.93,955.93,1055.56,220.46,360.16,1007.04,1129.66,5004.64,6162.98,1677.18,2310.61,652.4,712.22,527.93,738.82,541.01,717.46,2518.14,3019.08,8476.07,10448.66,1973.23,2601.99,1304.99,1671.49,1274.22,1368.62,1558.28,1952.49,408.96,646.74,1802.4,2176.17,772.05,1048.43,1096.89,1259.77,1585.4,1995.05,9041.19,11279.19,3201.61,3617.53,571.06,681.94,18.7,18.7,790.0,963.08,2294.87,2725.93,11367.24,13561.15,1478.95,1514.89,638.98,893.14,316.43,454.71,597.1,701.11,739.23,969.9,462.58,523.96,1213.9,1575.07,1069.48,1394.01,978.06,1225.73],[1936.08,2325.5,1115.49,1178.01,1819.59,2474.87,603.3,674.41,1581.46,1767.83,2329.01,2826.18,1512.2,1961.18,770.11,770.11,60.78,60.78,3532.76,4133.16,184.82,281.19,1813.39,2638.54,887.3,1048.14,1051.5,1729.45,null,null,537.52,725.32,4631.73,6433.78,1746.76,2306.18,949.42,1198.83,316.18,422.57,906.16,906.16,3262.11,3945.61,8258.54,10548.47,1805.62,2152.51,1039.04,1153.3,1727.11,1943.0,952.3,1226.85,549.99,790.98,1450.21,1686.28,876.39,876.39,541.59,541.59,1291.99,1291.99,8688.2,10307.9,2547.68,2863.09,750.01,750.01,null,null,869.41,890.67,2170.62,2380.37,11524.88,13729.96,1839.72,2325.39,758.13,758.13,299.91,383.62,596.79,596.79,567.73,893.17,540.36,540.36,676.67,1173.63,1244.55,1429.29,925.18,1010.03],[1644.01,1667.22,286.41,286.41,1491.35,1491.35,749.37,864.05,1817.19,2663.57,1264.88,1311.02,1922.63,2653.67,535.43,535.43,13.9,13.9,2498.84,3377.52,218.89,218.89,1321.08,1684.95,594.45,594.45,418.92,418.92,161.73,161.73,356.46,356.46,3316.02,3995.11,952.05,1078.41,759.31,927.48,454.73,454.73,437.49,556.68,3018.14,3554.04,5960.21,6688.79,1053.23,1294.96,311.97,311.97,1324.48,1749.62,1563.19,2208.04,174.34,174.34,1567.11,1704.0,771.44,858.2,612.65,612.65,616.68,616.68,7196.91,8293.87,2806.15,3446.67,810.47,1176.32,null,null,659.24,926.38,2137.33,2158.09,8522.94,9700.71,1030.04,1366.28,396.08,396.08,96.27,178.1,190.5,373.65,137.81,172.97,326.03,440.93,801.92,801.92,835.05,835.05,528.25,973.49],[3205.41,3205.41,3617.55,3939.72,3298.64,3542.07,2349.06,2349.06,3357.3,5617.86,2679.78,3157.96,3046.57,3763.37,666.19,666.19,null,null,4076.75,7939.25,null,null,5646.42,5646.42,538.99,538.99,1624.52,1624.52,null,null,231.84,231.84,8734.63,13727.01,9179.44,9706.62,3837.42,3837.42,3384.84,3384.84,1355.06,1355.06,7595.78,7595.78,19294.85,25807.35,5033.19,5985.75,223.09,446.18,2185.98,2185.98,4344.16,6919.63,2834.07,2834.07,4056.46,4879.18,6328.89,6328.89,1184.6,1184.6,1649.85,1886.52,19327.65,22670.23,7141.49,7397.6,523.09,523.09,null,null,2664.71,2664.71,3676.86,3676.86,25996.75,30393.45,5663.31,5663.31,3426.72,3426.72,1128.03,3384.09,null,null,null,null,null,null,1772.62,2074.55,5211.52,6042.93,3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[4,96],\"offset\":[0,0],\"total\":[4,96]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8978157ea9d859ea858faaca9625fcbbe7ce7e15/metadata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "163025fc275ecef6" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:57 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1962" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"afm\":{\"attributes\":[{\"localIdentifier\":\"region\",\"label\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}}},{\"localIdentifier\":\"state\",\"label\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}}},{\"localIdentifier\":\"product_category\",\"label\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"filters\":[],\"measures\":[{\"localIdentifier\":\"price\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}},\"aggregation\":\"SUM\",\"computeRatio\":false,\"filters\":[]}}},{\"localIdentifier\":\"order_amount\",\"definition\":{\"measure\":{\"item\":{\"identifier\":{\"id\":\"order_amount\",\"type\":\"metric\"}},\"computeRatio\":false,\"filters\":[]}}}],\"auxMeasures\":[]},\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"product_category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"region\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"state\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"8978157ea9d859ea858faaca9625fcbbe7ce7e15\"}},\"resultSpec\":{\"dimensions\":[{\"localIdentifier\":\"dim_0\",\"itemIdentifiers\":[\"product_category\"],\"sorting\":[]},{\"localIdentifier\":\"dim_1\",\"itemIdentifiers\":[\"region\",\"state\",\"measureGroup\"],\"sorting\":[]}],\"totals\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/8978157ea9d859ea858faaca9625fcbbe7ce7e15?offset=0%2C0&limit=100%2C100", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "bb9662f320083a02" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:07:57 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "21425" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[2018.99,2535.21,963.25,1190.44,1858.1,2263.12,802.06,882.27,989.47,1104.14,1915.46,2369.61,2065.18,2541.12,586.37,742.46,102.03,102.03,3463.82,4467.47,236.34,393.47,1869.53,2146.81,871.42,1014.93,955.93,1055.56,220.46,360.16,1007.04,1129.66,5004.64,6162.98,1677.18,2310.61,652.4,712.22,527.93,738.82,541.01,717.46,2518.14,3019.08,8476.07,10448.66,1973.23,2601.99,1304.99,1671.49,1274.22,1368.62,1558.28,1952.49,408.96,646.74,1802.4,2176.17,772.05,1048.43,1096.89,1259.77,1585.4,1995.05,9041.19,11279.19,3201.61,3617.53,571.06,681.94,18.7,18.7,790.0,963.08,2294.87,2725.93,11367.24,13561.15,1478.95,1514.89,638.98,893.14,316.43,454.71,597.1,701.11,739.23,969.9,462.58,523.96,1213.9,1575.07,1069.48,1394.01,978.06,1225.73],[1936.08,2325.5,1115.49,1178.01,1819.59,2474.87,603.3,674.41,1581.46,1767.83,2329.01,2826.18,1512.2,1961.18,770.11,770.11,60.78,60.78,3532.76,4133.16,184.82,281.19,1813.39,2638.54,887.3,1048.14,1051.5,1729.45,null,null,537.52,725.32,4631.73,6433.78,1746.76,2306.18,949.42,1198.83,316.18,422.57,906.16,906.16,3262.11,3945.61,8258.54,10548.47,1805.62,2152.51,1039.04,1153.3,1727.11,1943.0,952.3,1226.85,549.99,790.98,1450.21,1686.28,876.39,876.39,541.59,541.59,1291.99,1291.99,8688.2,10307.9,2547.68,2863.09,750.01,750.01,null,null,869.41,890.67,2170.62,2380.37,11524.88,13729.96,1839.72,2325.39,758.13,758.13,299.91,383.62,596.79,596.79,567.73,893.17,540.36,540.36,676.67,1173.63,1244.55,1429.29,925.18,1010.03],[1644.01,1667.22,286.41,286.41,1491.35,1491.35,749.37,864.05,1817.19,2663.57,1264.88,1311.02,1922.63,2653.67,535.43,535.43,13.9,13.9,2498.84,3377.52,218.89,218.89,1321.08,1684.95,594.45,594.45,418.92,418.92,161.73,161.73,356.46,356.46,3316.02,3995.11,952.05,1078.41,759.31,927.48,454.73,454.73,437.49,556.68,3018.14,3554.04,5960.21,6688.79,1053.23,1294.96,311.97,311.97,1324.48,1749.62,1563.19,2208.04,174.34,174.34,1567.11,1704.0,771.44,858.2,612.65,612.65,616.68,616.68,7196.91,8293.87,2806.15,3446.67,810.47,1176.32,null,null,659.24,926.38,2137.33,2158.09,8522.94,9700.71,1030.04,1366.28,396.08,396.08,96.27,178.1,190.5,373.65,137.81,172.97,326.03,440.93,801.92,801.92,835.05,835.05,528.25,973.49],[3205.41,3205.41,3617.55,3939.72,3298.64,3542.07,2349.06,2349.06,3357.3,5617.86,2679.78,3157.96,3046.57,3763.37,666.19,666.19,null,null,4076.75,7939.25,null,null,5646.42,5646.42,538.99,538.99,1624.52,1624.52,null,null,231.84,231.84,8734.63,13727.01,9179.44,9706.62,3837.42,3837.42,3384.84,3384.84,1355.06,1355.06,7595.78,7595.78,19294.85,25807.35,5033.19,5985.75,223.09,446.18,2185.98,2185.98,4344.16,6919.63,2834.07,2834.07,4056.46,4879.18,6328.89,6328.89,1184.6,1184.6,1649.85,1886.52,19327.65,22670.23,7141.49,7397.6,523.09,523.09,null,null,2664.71,2664.71,3676.86,3676.86,25996.75,30393.45,5663.31,5663.31,3426.72,3426.72,1128.03,3384.09,null,null,null,null,null,null,1772.62,2074.55,5211.52,6042.93,3787.89,4246.86]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}}]},{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[4,96],\"offset\":[0,0],\"total\":[4,96]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.json deleted file mode 100644 index 893753289..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.json +++ /dev/null @@ -1,536 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ca4e5d849e947290" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:02 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"title\":\"Revenue and Quantity by Product and Category\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"}},\"id\":\"revenue_and_quantity_by_product_and_category\",\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},\"included\":[{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}, {\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"AVG\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"06bc6b3b9949466494e4f594c11f1bff\", \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "5c9ce8c01afdf7fd" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1132" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\"},{\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\"},{\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"format\":\"#,##0.0%\",\"name\":\"% Revenue in Category\"},{\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"0daee4d9f01994532da588ace4a34c9929a2d09d\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3d4fcd08121f1f31" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "91cdc7efc2a0e35b" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "06100658ae27968d" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0daee4d9f01994532da588ace4a34c9929a2d09d?offset=0%2C0&limit=4%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "2c1426ad534097b1" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "4024" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[449.0,172.0,727.0,854.0,557.0,1096.0,149.0,253.0,571.0,735.0,144.0,258.0,386.0,542.0,147.0,58.0,63.0,71.0],[41.320524781341106,46.30830065359477,26.586969178082192,21.873084648493546,36.620566448801746,18.500912052117265,115.06585365853658,57.807943925233644,86.17856223175966,28.59485996705107,37.45467213114754,76.52254545454545,114.36082822085889,12.718106382978723,260.141512605042,553.8807547169812,811.6090566037736,1568.7147457627118],[0.17725916115332446,0.07819070840973427,0.18452791227743862,0.17461697017263958,0.19551673364684496,0.1898885143400181,0.15973175146727148,0.14394284849088326,0.48763974231358437,0.20868565772826095,0.06838997246733888,0.25553420960278433,0.5833271466249879,0.09274867130488894,0.16556859291478074,0.13199641470235435,0.22793065968694112,0.47450433269592374],[16744.48,7386.15,17431.11,16494.89,18469.15,17937.49,14421.37,12995.87,44026.52,18841.17,4725.73,17657.35,40307.76,6408.91,34697.71,27662.09,47766.74,99440.44]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":2}},{\"measureHeader\":{\"measureIndex\":3}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Polo Shirt\",\"primaryLabelValue\":\"Polo Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Pullover\",\"primaryLabelValue\":\"Pullover\"}},{\"attributeHeader\":{\"labelValue\":\"Shorts\",\"primaryLabelValue\":\"Shorts\"}},{\"attributeHeader\":{\"labelValue\":\"Skirt\",\"primaryLabelValue\":\"Skirt\"}},{\"attributeHeader\":{\"labelValue\":\"Slacks\",\"primaryLabelValue\":\"Slacks\"}},{\"attributeHeader\":{\"labelValue\":\"T-Shirt\",\"primaryLabelValue\":\"T-Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Artego\",\"primaryLabelValue\":\"Artego\"}},{\"attributeHeader\":{\"labelValue\":\"Compglass\",\"primaryLabelValue\":\"Compglass\"}},{\"attributeHeader\":{\"labelValue\":\"Magnemo\",\"primaryLabelValue\":\"Magnemo\"}},{\"attributeHeader\":{\"labelValue\":\"PortaCode\",\"primaryLabelValue\":\"PortaCode\"}},{\"attributeHeader\":{\"labelValue\":\"Applica\",\"primaryLabelValue\":\"Applica\"}},{\"attributeHeader\":{\"labelValue\":\"ChalkTalk\",\"primaryLabelValue\":\"ChalkTalk\"}},{\"attributeHeader\":{\"labelValue\":\"Optique\",\"primaryLabelValue\":\"Optique\"}},{\"attributeHeader\":{\"labelValue\":\"Peril\",\"primaryLabelValue\":\"Peril\"}},{\"attributeHeader\":{\"labelValue\":\"Biolid\",\"primaryLabelValue\":\"Biolid\"}},{\"attributeHeader\":{\"labelValue\":\"Elentrix\",\"primaryLabelValue\":\"Elentrix\"}},{\"attributeHeader\":{\"labelValue\":\"Integres\",\"primaryLabelValue\":\"Integres\"}},{\"attributeHeader\":{\"labelValue\":\"Neptide\",\"primaryLabelValue\":\"Neptide\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[4,18],\"offset\":[0,0],\"total\":[4,18]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.json deleted file mode 100644 index c5d22e343..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.json +++ /dev/null @@ -1,536 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "2b9591ee1a60a419" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:01 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"title\":\"Customers Trend\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"}},\"id\":\"customers_trend\",\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"},{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}]},\"datasets\":{\"data\":[{\"id\":\"date\",\"type\":\"dataset\"}]},\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},\"included\":[{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"# of Active Customers\",\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}], \"filters\": [{\"relativeDateFilter\": {\"dataset\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"MONTH\", \"to\": 0}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"0de7d7f08af7480aa636857a26be72b6\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d59fd4af10e70009" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:02 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "732" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"format\":\"#,##0\",\"name\":\"# of Active Customers\"},{\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"format\":\"$#,##0.0\",\"name\":\"Revenue per Customer\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\",\"label\":{\"id\":\"date.month\",\"type\":\"label\"},\"labelName\":\"Date - Month/Year\",\"attribute\":{\"id\":\"date.month\",\"type\":\"attribute\"},\"attributeName\":\"Date - Month/Year\",\"granularity\":\"MONTH\",\"primaryLabel\":{\"id\":\"date.month\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"9e9f56ef388c3d12df10c6e2e714c2e904ea8645\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fecf81186af4d842" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:02 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "07e34994460841e0" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:02 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3945f1c8dfa07f6a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:02 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9e9f56ef388c3d12df10c6e2e714c2e904ea8645?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "728b6b224c28651c" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:02 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1424" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[89.0,72.0,57.0,87.0,63.0,61.0,70.0,53.0,54.0,58.0,76.0,95.0],[206.22871794871796,179.70174603174604,167.8428,182.3487341772152,176.9677358490566,150.10735849056604,110.63396825396825,164.63276595744682,247.32333333333332,113.54166666666667,213.47925373134328,167.58869047619046]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"2021-09\",\"primaryLabelValue\":\"2021-09\"}},{\"attributeHeader\":{\"labelValue\":\"2021-10\",\"primaryLabelValue\":\"2021-10\"}},{\"attributeHeader\":{\"labelValue\":\"2021-11\",\"primaryLabelValue\":\"2021-11\"}},{\"attributeHeader\":{\"labelValue\":\"2021-12\",\"primaryLabelValue\":\"2021-12\"}},{\"attributeHeader\":{\"labelValue\":\"2022-01\",\"primaryLabelValue\":\"2022-01\"}},{\"attributeHeader\":{\"labelValue\":\"2022-02\",\"primaryLabelValue\":\"2022-02\"}},{\"attributeHeader\":{\"labelValue\":\"2022-03\",\"primaryLabelValue\":\"2022-03\"}},{\"attributeHeader\":{\"labelValue\":\"2022-04\",\"primaryLabelValue\":\"2022-04\"}},{\"attributeHeader\":{\"labelValue\":\"2022-05\",\"primaryLabelValue\":\"2022-05\"}},{\"attributeHeader\":{\"labelValue\":\"2022-06\",\"primaryLabelValue\":\"2022-06\"}},{\"attributeHeader\":{\"labelValue\":\"2022-07\",\"primaryLabelValue\":\"2022-07\"}},{\"attributeHeader\":{\"labelValue\":\"2022-08\",\"primaryLabelValue\":\"2022-08\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,12],\"offset\":[0,0],\"total\":[2,12]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.json deleted file mode 100644 index aaa57daf3..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.json +++ /dev/null @@ -1,536 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "52e610fbff3cdffc" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"title\":\"Revenue and Quantity by Product and Category\",\"areRelationsValid\":true,\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"}},\"id\":\"revenue_and_quantity_by_product_and_category\",\"relationships\":{\"metrics\":{\"data\":[{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]},\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"visualizationObject\"},\"included\":[{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}, {\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"AVG\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"06bc6b3b9949466494e4f594c11f1bff\", \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "8c2cdf1ca3e4fa16" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:03 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1132" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\"},{\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\"},{\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"format\":\"#,##0.0%\",\"name\":\"% Revenue in Category\"},{\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"format\":\"$#,##0\",\"name\":\"Revenue\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"0daee4d9f01994532da588ace4a34c9929a2d09d\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "293ec6b5d62a5d7b" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "785985ccb292db5f" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c22ac52fe7bbc6c3" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0daee4d9f01994532da588ace4a34c9929a2d09d?offset=0%2C0&limit=4%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "b4da011a4f7fb83b" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "4024" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[449.0,172.0,727.0,854.0,557.0,1096.0,149.0,253.0,571.0,735.0,144.0,258.0,386.0,542.0,147.0,58.0,63.0,71.0],[41.320524781341106,46.30830065359477,26.586969178082192,21.873084648493546,36.620566448801746,18.500912052117265,115.06585365853658,57.807943925233644,86.17856223175966,28.59485996705107,37.45467213114754,76.52254545454545,114.36082822085889,12.718106382978723,260.141512605042,553.8807547169812,811.6090566037736,1568.7147457627118],[0.17725916115332446,0.07819070840973427,0.18452791227743862,0.17461697017263958,0.19551673364684496,0.1898885143400181,0.15973175146727148,0.14394284849088326,0.48763974231358437,0.20868565772826095,0.06838997246733888,0.25553420960278433,0.5833271466249879,0.09274867130488894,0.16556859291478074,0.13199641470235435,0.22793065968694112,0.47450433269592374],[16744.48,7386.15,17431.11,16494.89,18469.15,17937.49,14421.37,12995.87,44026.52,18841.17,4725.73,17657.35,40307.76,6408.91,34697.71,27662.09,47766.74,99440.44]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}},{\"measureHeader\":{\"measureIndex\":2}},{\"measureHeader\":{\"measureIndex\":3}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Polo Shirt\",\"primaryLabelValue\":\"Polo Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Pullover\",\"primaryLabelValue\":\"Pullover\"}},{\"attributeHeader\":{\"labelValue\":\"Shorts\",\"primaryLabelValue\":\"Shorts\"}},{\"attributeHeader\":{\"labelValue\":\"Skirt\",\"primaryLabelValue\":\"Skirt\"}},{\"attributeHeader\":{\"labelValue\":\"Slacks\",\"primaryLabelValue\":\"Slacks\"}},{\"attributeHeader\":{\"labelValue\":\"T-Shirt\",\"primaryLabelValue\":\"T-Shirt\"}},{\"attributeHeader\":{\"labelValue\":\"Artego\",\"primaryLabelValue\":\"Artego\"}},{\"attributeHeader\":{\"labelValue\":\"Compglass\",\"primaryLabelValue\":\"Compglass\"}},{\"attributeHeader\":{\"labelValue\":\"Magnemo\",\"primaryLabelValue\":\"Magnemo\"}},{\"attributeHeader\":{\"labelValue\":\"PortaCode\",\"primaryLabelValue\":\"PortaCode\"}},{\"attributeHeader\":{\"labelValue\":\"Applica\",\"primaryLabelValue\":\"Applica\"}},{\"attributeHeader\":{\"labelValue\":\"ChalkTalk\",\"primaryLabelValue\":\"ChalkTalk\"}},{\"attributeHeader\":{\"labelValue\":\"Optique\",\"primaryLabelValue\":\"Optique\"}},{\"attributeHeader\":{\"labelValue\":\"Peril\",\"primaryLabelValue\":\"Peril\"}},{\"attributeHeader\":{\"labelValue\":\"Biolid\",\"primaryLabelValue\":\"Biolid\"}},{\"attributeHeader\":{\"labelValue\":\"Elentrix\",\"primaryLabelValue\":\"Elentrix\"}},{\"attributeHeader\":{\"labelValue\":\"Integres\",\"primaryLabelValue\":\"Integres\"}},{\"attributeHeader\":{\"labelValue\":\"Neptide\",\"primaryLabelValue\":\"Neptide\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[4,18],\"offset\":[0,0],\"total\":[4,18]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.json deleted file mode 100644 index 917726edc..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"reg\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"reg\", \"category\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a8c50134fe4500e9" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "846" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"reg\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"1f76f7e8fe308ca77be513dbc73386fa9cc436cf\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "334d36f7415288d0" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9e963e7155e31b98" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:04 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d47afa42b6982a6c" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1f76f7e8fe308ca77be513dbc73386fa9cc436cf?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d632bdf927d7e359" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "3098" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[16870.6,17258.99,13763.98,31943.67,9736.67,8854.81,5799.63,20309.42,37305.83,35912.54,29438.5,90300.47,18.7,21946.82,22013.95,15661.46,53328.41],[20738.15,21091.76,16767.98,39827.31,12033.9,12242.87,6605.08,25828.98,45935.65,42605.53,34629.04,105222.17,18.7,26502.68,26111.41,18323.65,61573.48]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,17],\"offset\":[0,0],\"total\":[2,17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.json b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.json deleted file mode 100644 index 93b66641a..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"reg\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"category\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"price\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"order_amount\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"reg\", \"category\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c1587f4f71ff693c" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "846" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"price\"},{\"localIdentifier\":\"order_amount\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"reg\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"category\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"1f76f7e8fe308ca77be513dbc73386fa9cc436cf\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "46f4cc11763403b4" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6cf0beb771bf968a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6820afea5981938a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/1f76f7e8fe308ca77be513dbc73386fa9cc436cf?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ac9edbf037c4228b" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "3098" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[16870.6,17258.99,13763.98,31943.67,9736.67,8854.81,5799.63,20309.42,37305.83,35912.54,29438.5,90300.47,18.7,21946.82,22013.95,15661.46,53328.41],[20738.15,21091.76,16767.98,39827.31,12033.9,12242.87,6605.08,25828.98,45935.65,42605.53,34629.04,105222.17,18.7,26502.68,26111.41,18323.65,61573.48]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,17],\"offset\":[0,0],\"total\":[2,17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.json b/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.json deleted file mode 100644 index 8f759b6bb..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"b8dfd97d05f8e90cf7972d4f5d11aa6f\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_top_customers\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"4139b3859d1bd4272480debf80d356ba\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"total_revenue-no_filters\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"eddb24369ee4328eb3bbebe78d45ad2d\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"b8dfd97d05f8e90cf7972d4f5d11aa6f\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fe7ef378d75230a8" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "726" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"4139b3859d1bd4272480debf80d356ba\",\"format\":\"#,##0\",\"name\":\"# of Top Customers\"},{\"localIdentifier\":\"eddb24369ee4328eb3bbebe78d45ad2d\",\"format\":\"$#,##0\",\"name\":\"Total Revenue (No Filters)\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"b8dfd97d05f8e90cf7972d4f5d11aa6f\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"4e731a9d6fde021bc3a866b48a17709f8dcb5213\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c45b42e8e0857d99" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6c007e1371c39855" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "43d405c9096855f3" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4e731a9d6fde021bc3a866b48a17709f8dcb5213?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9205041d316bb576" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "171" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[]}]},{\"headerGroups\":[{\"headers\":[]}]}],\"grandTotals\":[],\"paging\":{\"count\":[0,0],\"offset\":[0,0],\"total\":[0,0]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.json b/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.json deleted file mode 100644 index 201084b44..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"b8dfd97d05f8e90cf7972d4f5d11aa6f\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_top_customers\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"4139b3859d1bd4272480debf80d356ba\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"total_revenue-no_filters\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"eddb24369ee4328eb3bbebe78d45ad2d\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"b8dfd97d05f8e90cf7972d4f5d11aa6f\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "42a1c8c9b84db56e" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "726" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"4139b3859d1bd4272480debf80d356ba\",\"format\":\"#,##0\",\"name\":\"# of Top Customers\"},{\"localIdentifier\":\"eddb24369ee4328eb3bbebe78d45ad2d\",\"format\":\"$#,##0\",\"name\":\"Total Revenue (No Filters)\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"b8dfd97d05f8e90cf7972d4f5d11aa6f\",\"label\":{\"id\":\"product_name\",\"type\":\"label\"},\"labelName\":\"Product name\",\"attribute\":{\"id\":\"product_name\",\"type\":\"attribute\"},\"attributeName\":\"Product name\",\"granularity\":null,\"primaryLabel\":{\"id\":\"product_name\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"4e731a9d6fde021bc3a866b48a17709f8dcb5213\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "631e4b5f7b99994a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "72f92215603b1a64" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d77a5e71219d3403" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4e731a9d6fde021bc3a866b48a17709f8dcb5213?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "fbfe21cd0dce415b" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "171" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[]}]},{\"headerGroups\":[{\"headers\":[]}]}],\"grandTotals\":[],\"paging\":{\"count\":[0,0],\"offset\":[0,0],\"total\":[0,0]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.json b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.json deleted file mode 100644 index 286e5fa64..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"263d7484f3c864cb11638430ee3f26af\"}, {\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Northeast\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}, {\"comparisonMeasureValueFilter\": {\"measure\": {\"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}, \"operator\": \"GREATER_THAN\", \"value\": 50.0}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"263d7484f3c864cb11638430ee3f26af\", \"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "1b035fbc047a02db" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1251" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"263d7484f3c864cb11638430ee3f26af\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"633ae2102d47b1744049eec16f371e1fdc110d59\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e1ce153866c8e741" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "58af4adb2590d908" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "5a8f7cb85173f98f" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/633ae2102d47b1744049eec16f371e1fdc110d59?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "99e446762b7d515d" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1011" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[6162.98,6433.78,3995.11],[121.0,58.0,51.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,3],\"offset\":[0,0],\"total\":[2,3]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.json b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.json deleted file mode 100644 index c3d1a6a41..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Midwest\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "f904691fe28213fc" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "984" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"b85a3330c2476f5de68be88e6e0d64ad4f49dff6\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "1a42dbb9942cda50" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3de8e7809614e50b" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6e83569f76f82aac" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b85a3330c2476f5de68be88e6e0d64ad4f49dff6?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "1788ccb4d728b2ae" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:11 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "923" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[20738.15,21091.76,16767.98,39827.31],[415.0,223.0,200.0,55.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,4],\"offset\":[0,0],\"total\":[2,4]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.json b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.json deleted file mode 100644 index ba081fe94..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "1f495c38d883ee10" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "984" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"0a8613d49e8d00d83e0e24e3315281d0b0619ee3\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "b7045352298d2836" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d81b4a10e456082d" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "83f222405f6fbbdc" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0a8613d49e8d00d83e0e24e3315281d0b0619ee3?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d7b7b23b80a89825" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "3050" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[20738.15,21091.76,16767.98,39827.31,12033.9,12242.87,6605.08,25828.98,45935.65,42605.53,34629.04,105222.17,18.7,26502.68,26111.41,18323.65,61573.48],[415.0,223.0,200.0,55.0,242.0,122.0,94.0,24.0,902.0,500.0,436.0,122.0,1.0,526.0,291.0,218.0,76.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,17],\"offset\":[0,0],\"total\":[2,17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.json b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.json deleted file mode 100644 index f2b965150..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"263d7484f3c864cb11638430ee3f26af\"}, {\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"263d7484f3c864cb11638430ee3f26af\", \"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "1e28442b24a497bf" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1251" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"263d7484f3c864cb11638430ee3f26af\",\"label\":{\"id\":\"state\",\"type\":\"label\"},\"labelName\":\"State\",\"attribute\":{\"id\":\"state\",\"type\":\"attribute\"},\"attributeName\":\"State\",\"granularity\":null,\"primaryLabel\":{\"id\":\"state\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"2fbf5b7aa34c130337041ebfc1f4f8f052e2fac8\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "99830632b0e15af5" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "12809514c0a3a33f" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:09 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0cced1ce5abec180" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2fbf5b7aa34c130337041ebfc1f4f8f052e2fac8?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "14c563ca8bfbd348" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:10 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "43803" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[712.22,1198.83,927.48,3837.42,963.08,890.67,926.38,2664.71,2725.93,2380.37,2158.09,3676.86,738.82,422.57,454.73,3384.84,13561.15,13729.96,9700.71,30393.45,1514.89,2325.39,1366.28,5663.31,1014.93,1048.14,594.45,538.99,717.46,906.16,556.68,1355.06,3019.08,3945.61,3554.04,7595.78,10448.66,10548.47,6688.79,25807.35,2601.99,2152.51,1294.96,5985.75,893.14,758.13,396.08,3426.72,454.71,383.62,178.1,3384.09,2535.21,2325.5,1667.22,3205.41,1190.44,1178.01,286.41,3939.72,2263.12,2474.87,1491.35,3542.07,882.27,674.41,864.05,2349.06,1671.49,1153.3,311.97,446.18,1368.62,1943.0,1749.62,2185.98,1952.49,1226.85,2208.04,6919.63,1055.56,1729.45,418.92,1624.52,1104.14,1767.83,2663.57,5617.86,2369.61,2826.18,1311.02,3157.96,646.74,790.98,174.34,2834.07,2541.12,1961.18,2653.67,3763.37,701.11,596.79,373.65,742.46,770.11,535.43,666.19,969.9,893.17,172.97,360.16,161.73,1129.66,725.32,356.46,231.84,523.96,540.36,440.93,6162.98,6433.78,3995.11,13727.01,2176.17,1686.28,1704.0,4879.18,102.03,60.78,13.9,4467.47,4133.16,3377.52,7939.25,1048.43,876.39,858.2,6328.89,1575.07,1173.63,801.92,2074.55,2310.61,2306.18,1078.41,9706.62,18.7,1259.77,541.59,612.65,1184.6,393.47,281.19,218.89,1995.05,1291.99,616.68,1886.52,11279.19,10307.9,8293.87,22670.23,1394.01,1429.29,835.05,6042.93,3617.53,2863.09,3446.67,7397.6,1225.73,1010.03,973.49,4246.86,681.94,750.01,1176.32,523.09,2146.81,2638.54,1684.95,5646.42],[19.0,14.0,12.0,3.0,21.0,11.0,7.0,3.0,60.0,35.0,25.0,5.0,15.0,5.0,9.0,3.0,269.0,146.0,118.0,41.0,37.0,20.0,13.0,8.0,22.0,15.0,9.0,1.0,14.0,7.0,5.0,2.0,67.0,49.0,41.0,7.0,199.0,109.0,86.0,30.0,40.0,25.0,15.0,4.0,17.0,14.0,6.0,4.0,4.0,5.0,2.0,2.0,51.0,26.0,24.0,3.0,24.0,14.0,9.0,6.0,47.0,27.0,22.0,8.0,23.0,9.0,12.0,3.0,35.0,18.0,9.0,1.0,33.0,23.0,19.0,4.0,37.0,13.0,17.0,6.0,24.0,15.0,6.0,1.0,26.0,18.0,19.0,5.0,46.0,31.0,19.0,4.0,8.0,3.0,3.0,3.0,56.0,18.0,25.0,5.0,16.0,6.0,4.0,13.0,9.0,8.0,3.0,13.0,7.0,3.0,6.0,5.0,20.0,9.0,4.0,1.0,13.0,7.0,8.0,121.0,58.0,51.0,11.0,39.0,18.0,20.0,7.0,2.0,1.0,1.0,75.0,44.0,40.0,9.0,24.0,11.0,10.0,5.0,21.0,9.0,15.0,4.0,49.0,25.0,19.0,10.0,1.0,26.0,11.0,9.0,2.0,7.0,3.0,1.0,35.0,17.0,8.0,3.0,220.0,132.0,123.0,28.0,25.0,16.0,11.0,4.0,75.0,37.0,39.0,12.0,30.0,15.0,6.0,5.0,16.0,8.0,11.0,2.0,45.0,23.0,20.0,9.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alabama\",\"primaryLabelValue\":\"Alabama\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Alaska\",\"primaryLabelValue\":\"Alaska\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arizona\",\"primaryLabelValue\":\"Arizona\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"Arkansas\",\"primaryLabelValue\":\"Arkansas\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"California\",\"primaryLabelValue\":\"California\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Colorado\",\"primaryLabelValue\":\"Colorado\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Connecticut\",\"primaryLabelValue\":\"Connecticut\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"Delaware\",\"primaryLabelValue\":\"Delaware\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"District of Columbia\",\"primaryLabelValue\":\"District of Columbia\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Florida\",\"primaryLabelValue\":\"Florida\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Georgia\",\"primaryLabelValue\":\"Georgia\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Hawaii\",\"primaryLabelValue\":\"Hawaii\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Idaho\",\"primaryLabelValue\":\"Idaho\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Illinois\",\"primaryLabelValue\":\"Illinois\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Indiana\",\"primaryLabelValue\":\"Indiana\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Iowa\",\"primaryLabelValue\":\"Iowa\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kansas\",\"primaryLabelValue\":\"Kansas\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Kentucky\",\"primaryLabelValue\":\"Kentucky\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Louisiana\",\"primaryLabelValue\":\"Louisiana\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Maryland\",\"primaryLabelValue\":\"Maryland\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Massachusetts\",\"primaryLabelValue\":\"Massachusetts\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Michigan\",\"primaryLabelValue\":\"Michigan\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Minnesota\",\"primaryLabelValue\":\"Minnesota\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Mississippi\",\"primaryLabelValue\":\"Mississippi\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Missouri\",\"primaryLabelValue\":\"Missouri\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Montana\",\"primaryLabelValue\":\"Montana\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nebraska\",\"primaryLabelValue\":\"Nebraska\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"Nevada\",\"primaryLabelValue\":\"Nevada\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Hampshire\",\"primaryLabelValue\":\"New Hampshire\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Jersey\",\"primaryLabelValue\":\"New Jersey\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New Mexico\",\"primaryLabelValue\":\"New Mexico\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"New York\",\"primaryLabelValue\":\"New York\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Carolina\",\"primaryLabelValue\":\"North Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"North Dakota\",\"primaryLabelValue\":\"North Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Ohio\",\"primaryLabelValue\":\"Ohio\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oklahoma\",\"primaryLabelValue\":\"Oklahoma\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Oregon\",\"primaryLabelValue\":\"Oregon\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Pennsylvania\",\"primaryLabelValue\":\"Pennsylvania\"}},{\"attributeHeader\":{\"labelValue\":\"Rhode Island\",\"primaryLabelValue\":\"Rhode Island\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Carolina\",\"primaryLabelValue\":\"South Carolina\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"South Dakota\",\"primaryLabelValue\":\"South Dakota\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Tennessee\",\"primaryLabelValue\":\"Tennessee\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Texas\",\"primaryLabelValue\":\"Texas\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Utah\",\"primaryLabelValue\":\"Utah\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Virginia\",\"primaryLabelValue\":\"Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"Washington\",\"primaryLabelValue\":\"Washington\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"West Virginia\",\"primaryLabelValue\":\"West Virginia\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}},{\"attributeHeader\":{\"labelValue\":\"Wisconsin\",\"primaryLabelValue\":\"Wisconsin\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,182],\"offset\":[0,0],\"total\":[2,182]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.json b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.json deleted file mode 100644 index 5a4bf22a4..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Midwest\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "bece85fa897289cb" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "675" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"d62f5d03c99c2c1d63202e69e0c53dbde0c3eb8a\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "4ed34a4d84048669" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "16d4981d904709fd" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9f46ef0ea14a345e" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d62f5d03c99c2c1d63202e69e0c53dbde0c3eb8a?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "243211d9d306821b" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "335" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[98425.2],[607.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,1],\"offset\":[0,0],\"total\":[2,1]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.json b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.json deleted file mode 100644 index 0b6971b60..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ca4acd9b9c8f18b7" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "363" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"99e62fad83bd0468e158b82898b0f1ce88e660b5\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "126ad5f4ab5ed825" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "319a45c27ebd33e4" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "f09e4a23117ef4c3" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/99e62fad83bd0468e158b82898b0f1ce88e660b5?offset=0&limit=2", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e9a490f1195e64d0" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "220" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[516058.34,3016.0],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2],\"offset\":[0],\"total\":[2]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.json b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.json deleted file mode 100644 index 4a11c5a89..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"1a0aecdfcb500f7767579f45477cbdb3\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"5f5d69477a25411cd33be7820a9c8e8e\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "2fd488ed765ecb98" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "675" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"1a0aecdfcb500f7767579f45477cbdb3\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"},{\"localIdentifier\":\"5f5d69477a25411cd33be7820a9c8e8e\",\"format\":\"#,##0\",\"name\":\"# of Orders\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"60b08875cf39b7fb94c0da6dc49379b8162ccee3\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "175e605efaa39680" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:12 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ac4f5ddad7c963f9" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0d9e58aedcf936b9" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/60b08875cf39b7fb94c0da6dc49379b8162ccee3?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "6b1a23b9b9248713" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:13 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "686" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[98425.2,56710.83,228392.39,18.7,132511.22],[607.0,327.0,1313.0,1.0,768.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,5],\"offset\":[0,0],\"total\":[2,5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.json b/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.json deleted file mode 100644 index 4a604ece1..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}, {\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Midwest\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}, {\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Midwest\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}, {\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Midwest\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}, {\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Clothing\"]}, \"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}}}, {\"comparisonMeasureValueFilter\": {\"measure\": {\"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}, \"operator\": \"GREATER_THAN\", \"value\": 100.0}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"7b4d783eae87de9dc8b1830a5c901494\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"c1240b6ba5cdafa4dd2ef1c728f0cffa\", \"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "85bca3ea41dfc538" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "906" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"},{\"localIdentifier\":\"7b4d783eae87de9dc8b1830a5c901494\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"b09e3787495ba5449eb7ee2d552be14615ee0515\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ec30ed777cae4d81" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9217e46b18b46a44" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "88c885c41182aa6f" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b09e3787495ba5449eb7ee2d552be14615ee0515?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "4f458f57ac61e1d1" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "426" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[16870.6],[763.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,1],\"offset\":[0,0],\"total\":[2,1]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.json b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.json deleted file mode 100644 index 71ebdeafa..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "86f5ee1f8660416e" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:05 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "851" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"3df32236b09dd935ac09aaae2a5beb5b59ee8444\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d94fe887a813db6a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:06 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ba04c615b798dfb7" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:06 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9c244ee0efdfb553" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:06 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3df32236b09dd935ac09aaae2a5beb5b59ee8444?offset=0%2C0&limit=1%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "75d54e198e6cd6dd" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:06 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2911" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[16870.6,17258.99,13763.98,31943.67,9736.67,8854.81,5799.63,20309.42,37305.83,35912.54,29438.5,90300.47,18.7,21946.82,22013.95,15661.46,53328.41]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,17],\"offset\":[0,0],\"total\":[1,17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.json b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.json deleted file mode 100644 index 447ac5adb..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"7b4d783eae87de9dc8b1830a5c901494\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "49fcf2f3c362640a" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "597" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"},{\"localIdentifier\":\"7b4d783eae87de9dc8b1830a5c901494\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"60c542dbb4234fd5e79ff19ac9cecb6c408e5892\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e91060423170d1c1" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "830dc9d39ef85c58" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "51021f62db58cacf" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/60c542dbb4234fd5e79ff19ac9cecb6c408e5892?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ae90e6bb71b31164" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:08 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "689" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[79837.24,44700.53,192957.34,18.7,112950.64],[1457.0,805.0,3176.0,1.0,1793.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,5],\"offset\":[0,0],\"total\":[2,5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.json b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.json deleted file mode 100644 index 849d5711e..000000000 --- a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}, {\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"7b4d783eae87de9dc8b1830a5c901494\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a513528564ee0ce6" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "597" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"},{\"localIdentifier\":\"7b4d783eae87de9dc8b1830a5c901494\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"60c542dbb4234fd5e79ff19ac9cecb6c408e5892\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3445a8079e825a28" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "ce1e5bc04f4e6533" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a60bfdd1822b126d" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/60c542dbb4234fd5e79ff19ac9cecb6c408e5892?offset=0%2C0&limit=2%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9839aabf97e92c10" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:07 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "689" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[79837.24,44700.53,192957.34,18.7,112950.64],[1457.0,805.0,3176.0,1.0,1793.0]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}},{\"measureHeader\":{\"measureIndex\":1}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,5],\"offset\":[0,0],\"total\":[2,5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py b/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py index 678dc6c06..51ab41d2d 100644 --- a/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py +++ b/gooddata-pandas/tests/dataframe/test_dataframe_for_exec_def.py @@ -2,18 +2,17 @@ from pathlib import Path from typing import Tuple -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import DataFrameFactory from gooddata_sdk import Attribute, ExecutionDefinition, ObjId, SimpleMetric, TotalDefinition, TotalDimension from gooddata_sdk.compute.model.execution import ResultSizeLimitsExceeded -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - def _run_and_validate_results(gdf: DataFrameFactory, exec_def: ExecutionDefinition, expected: Tuple[int, int]) -> str: # generate dataframe from exec_def @@ -30,7 +29,7 @@ def _run_and_validate_results(gdf: DataFrameFactory, exec_def: ExecutionDefiniti return response.result_id -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim1.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim1.yaml")) def test_dataframe_for_exec_def_two_dim1(gdf: DataFrameFactory): exec_def = ExecutionDefinition( attributes=[ @@ -61,7 +60,7 @@ def test_dataframe_for_exec_def_two_dim1(gdf: DataFrameFactory): assert result.to_string().find(overrides["metrics"]["price"]["title"]) == 162 -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim1.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim1.yaml")) def test_dataframe_for_exec_def_limits_failure(gdf: DataFrameFactory): exec_def = ExecutionDefinition( attributes=[ @@ -89,7 +88,7 @@ def test_dataframe_for_exec_def_limits_failure(gdf: DataFrameFactory): assert exception.first_violating_index == 0 -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim2.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim2.yaml")) def test_dataframe_for_exec_def_two_dim2(gdf: DataFrameFactory): exec_def = ExecutionDefinition( attributes=[ @@ -107,7 +106,7 @@ def test_dataframe_for_exec_def_two_dim2(gdf: DataFrameFactory): _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(182, 2)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim3.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_two_dim3.yaml")) def test_dataframe_for_exec_def_two_dim3(gdf: DataFrameFactory): exec_def = ExecutionDefinition( attributes=[ @@ -125,7 +124,7 @@ def test_dataframe_for_exec_def_two_dim3(gdf: DataFrameFactory): _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(4, 96)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals1.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals1.yaml")) def test_dataframe_for_exec_def_totals1(gdf: DataFrameFactory): """ Execution with column totals; the row dimension has single label @@ -160,7 +159,7 @@ def test_dataframe_for_exec_def_totals1(gdf: DataFrameFactory): _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(6, 96)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals2.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals2.yaml")) def test_dataframe_for_exec_def_totals2(gdf: DataFrameFactory): """ Execution with column totals; the row dimension have two labels; this exercises that the index is @@ -196,7 +195,7 @@ def test_dataframe_for_exec_def_totals2(gdf: DataFrameFactory): _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(19, 96)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals3.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals3.yaml")) def test_dataframe_for_exec_def_totals3(gdf: DataFrameFactory): """ Execution with row totals; the column dimension has single label. @@ -231,7 +230,7 @@ def test_dataframe_for_exec_def_totals3(gdf: DataFrameFactory): _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(96, 6)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals4.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_totals4.yaml")) def test_dataframe_for_exec_def_totals4(gdf: DataFrameFactory): """ Execution with row totals; the column dimension have two label. @@ -300,7 +299,7 @@ def test_dataframe_for_exec_def_totals4(gdf: DataFrameFactory): # _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(?, ?)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_one_dim1.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_one_dim1.yaml")) def test_dataframe_for_exec_def_one_dim1(gdf: DataFrameFactory): exec_def = ExecutionDefinition( attributes=[ @@ -318,7 +317,7 @@ def test_dataframe_for_exec_def_one_dim1(gdf: DataFrameFactory): _run_and_validate_results(gdf=gdf, exec_def=exec_def, expected=(364, 1)) -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_one_dim2.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_exec_def_one_dim2.yaml")) def test_dataframe_for_exec_def_one_dim2(gdf: DataFrameFactory): exec_def = ExecutionDefinition( attributes=[ diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py b/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py index 0461e1372..8ebb6be3c 100644 --- a/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py +++ b/gooddata-pandas/tests/dataframe/test_dataframe_for_insight.py @@ -1,18 +1,17 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import DataFrameFactory -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_insight_date.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_insight_date.yaml")) def test_dataframe_for_insight_date(gdf: DataFrameFactory): # 2 metrics grouped by date dimension with data for last 12 months # exact numbers cannot be checked as date data are changed each AIO build @@ -27,7 +26,7 @@ def test_dataframe_for_insight_date(gdf: DataFrameFactory): assert df.columns[1] == "revenue_per_customer" -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_insight.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_insight.yaml")) def test_dataframe_for_insight(gdf: DataFrameFactory): # 4 metrics grouped by 2 attributes, filters are set to all df = gdf.for_insight(insight_id="revenue_and_quantity_by_product_and_category") @@ -40,7 +39,7 @@ def test_dataframe_for_insight(gdf: DataFrameFactory): assert df.columns[3] == "revenue" -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_insight_no_index.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_insight_no_index.yaml")) def test_dataframe_for_insight_no_index(gdf: DataFrameFactory): # 4 metrics grouped by 2 attributes, filters are set to all df = gdf.for_insight(insight_id="revenue_and_quantity_by_product_and_category", auto_index=False) diff --git a/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py b/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py index d417301a1..7481b5d4b 100644 --- a/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py +++ b/gooddata-pandas/tests/dataframe/test_dataframe_for_items.py @@ -1,18 +1,17 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import DataFrameFactory -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_items.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_items.yaml")) def test_dataframe_for_items(gdf: DataFrameFactory): df = gdf.for_items( items=dict( @@ -31,7 +30,7 @@ def test_dataframe_for_items(gdf: DataFrameFactory): assert df.columns[1] == "order_amount" -@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_items_no_index.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dataframe_for_items_no_index.yaml")) def test_dataframe_for_items_no_index(gdf: DataFrameFactory): df = gdf.for_items( items=dict( diff --git a/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py b/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py index 9cd6c0ec4..183519e40 100644 --- a/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py +++ b/gooddata-pandas/tests/dataframe/test_indexed_dataframe.py @@ -2,16 +2,16 @@ from pathlib import Path import pytest -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import DataFrameFactory from gooddata_sdk import Attribute, MetricValueFilter, ObjId, PositiveAttributeFilter -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) index_types = [ # reference to the columns key @@ -32,7 +32,7 @@ ] -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metrics.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metrics.yaml")) @pytest.mark.parametrize("index", index_types) def test_simple_index_metrics(gdf: DataFrameFactory, index): df = gdf.indexed( @@ -51,7 +51,7 @@ def test_simple_index_metrics(gdf: DataFrameFactory, index): assert df.columns[2] == "price" -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metrics_no_duplicate.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metrics_no_duplicate.yaml")) def test_simple_index_metrics_no_duplicate_index_col(gdf: DataFrameFactory): df = gdf.indexed( index_by="label/region", @@ -67,7 +67,7 @@ def test_simple_index_metrics_no_duplicate_index_col(gdf: DataFrameFactory): assert df.columns[1] == "quantity" -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metrics_and_label.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metrics_and_label.yaml")) def test_simple_index_metrics_and_label(gdf: DataFrameFactory): columns = { "Price": "fact/price", @@ -85,7 +85,7 @@ def test_simple_index_metrics_and_label(gdf: DataFrameFactory): assert df_col_name == col_name -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_filtered_metrics_and_label.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_filtered_metrics_and_label.yaml")) def test_simple_index_filtered_metrics_and_label(gdf: DataFrameFactory): df = gdf.indexed( index_by=dict(reg="label/region"), @@ -114,7 +114,7 @@ def test_simple_index_filtered_metrics_and_label(gdf: DataFrameFactory): assert df.columns[2] == "category" -@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_metrics.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_metrics.yaml")) def test_multi_index_metrics(gdf: DataFrameFactory): df = gdf.indexed( index_by=dict(reg="label/region", category="label/products.category"), @@ -129,7 +129,7 @@ def test_multi_index_metrics(gdf: DataFrameFactory): assert df.columns[1] == "order_count" -@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_metrics_and_label.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_metrics_and_label.yaml")) def test_multi_index_metrics_and_label(gdf: DataFrameFactory): df = gdf.indexed( index_by=dict(reg="label/region", category="label/products.category"), @@ -149,7 +149,7 @@ def test_multi_index_metrics_and_label(gdf: DataFrameFactory): assert df.columns[2] == "state" -@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_filtered_metrics_and_label.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_filtered_metrics_and_label.yaml")) def test_multi_index_filtered_metrics_and_label(gdf: DataFrameFactory): df = gdf.indexed( index_by=dict(reg="label/region", category="label/products.category"), @@ -173,7 +173,7 @@ def test_multi_index_filtered_metrics_and_label(gdf: DataFrameFactory): assert df.columns[2] == "state" -@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_filtered_metrics_and_label_reuse.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_filtered_metrics_and_label_reuse.yaml")) def test_multi_index_filtered_metrics_and_label_reuse(gdf: DataFrameFactory): # note here: if a single label is reused in both index and columns, that label will be used in computation # just once. the first-found occurrence will be used in computation. local id of the attribute will be @@ -199,7 +199,7 @@ def test_multi_index_filtered_metrics_and_label_reuse(gdf: DataFrameFactory): assert df.columns[2] == "reg" -@gd_vcr.use_cassette(str(_fixtures_dir / "empty_indexed_dataframe.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "empty_indexed_dataframe.yaml")) def test_empty_indexed_dataframe(gdf: DataFrameFactory): df = gdf.indexed( index_by="label/product_name", diff --git a/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py b/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py index af306a9f9..c4eb0afeb 100644 --- a/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py +++ b/gooddata-pandas/tests/dataframe/test_not_indexed_dataframe.py @@ -1,19 +1,18 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import DataFrameFactory from gooddata_sdk import PositiveAttributeFilter -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metrics.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metrics.yaml")) def test_not_indexed_metrics(gdf: DataFrameFactory): df = gdf.not_indexed( columns=dict( @@ -28,7 +27,7 @@ def test_not_indexed_metrics(gdf: DataFrameFactory): assert df.columns[1] == "order_count" -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metrics_and_labels.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metrics_and_labels.yaml")) def test_not_indexed_metrics_and_labels(gdf: DataFrameFactory): df = gdf.not_indexed( columns=dict( @@ -45,7 +44,7 @@ def test_not_indexed_metrics_and_labels(gdf: DataFrameFactory): assert df.columns[2] == "order_count" -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_filtered_metrics_and_labels.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_filtered_metrics_and_labels.yaml")) def test_not_indexed_filtered_metrics_and_labels(gdf: DataFrameFactory): df = gdf.not_indexed( columns=dict( @@ -63,7 +62,7 @@ def test_not_indexed_filtered_metrics_and_labels(gdf: DataFrameFactory): assert df.columns[2] == "order_count" -@gd_vcr.use_cassette(str(_fixtures_dir / "empty_not_indexed_dataframe.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "empty_not_indexed_dataframe.yaml")) def test_empty_not_indexed_dataframe(gdf: DataFrameFactory): df = gdf.not_indexed( columns=dict( diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.json b/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.json deleted file mode 100644 index 58bfb3591..000000000 --- a/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Clothing\"]}, \"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0d40ce83cf7e5117" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "851" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"e96c7e0d2b13ba645e05fb873ffba3e91f80ce73\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "1f2b269854ef9789" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "aa3e243b8f3dfe0f" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "69bc6a70d5dffd2f" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e96c7e0d2b13ba645e05fb873ffba3e91f80ce73?offset=0%2C0&limit=1%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "19c98645a72688a1" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "1014" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[16870.6,9736.67,37305.83,18.7,21946.82]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,5],\"offset\":[0,0],\"total\":[1,5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.json b/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.json deleted file mode 100644 index 73d70b081..000000000 --- a/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}, {\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\", \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "cf72c49e6030db3c" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "851" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"3df32236b09dd935ac09aaae2a5beb5b59ee8444\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a69efbcc9840aea6" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "49da443b7291820a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9ad2b876666ae80a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3df32236b09dd935ac09aaae2a5beb5b59ee8444?offset=0%2C0&limit=1%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "220fad5e396a85c1" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2911" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[16870.6,17258.99,13763.98,31943.67,9736.67,8854.81,5799.63,20309.42,37305.83,35912.54,29438.5,90300.47,18.7,21946.82,22013.95,15661.46,53328.41]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,17],\"offset\":[0,0],\"total\":[1,17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.json b/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.json deleted file mode 100644 index 5461b0e87..000000000 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.json +++ /dev/null @@ -1,891 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "03fbd32bfd3a49d3" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "230" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"068f8dbfdb84b43698ab54cfec58f3ca0a7512ba\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "aa70b904f07bfcb1" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d7d11ab275c18f46" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "f3309e940152047d" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/068f8dbfdb84b43698ab54cfec58f3ca0a7512ba?offset=0&limit=1", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "8add73f97545b5b7" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "176" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[430464.45],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1],\"offset\":[0],\"total\":[1]}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Unknown\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3608b8bfcee0fb5a" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "230" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"df9033ded9597a29ca614fa60c17379b9fb8bbe9\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a88551fe28fdf27d" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c71134db90a10f7a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:20 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "de612c2482cff0a9" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:20 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/df9033ded9597a29ca614fa60c17379b9fb8bbe9?offset=0&limit=1", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "347e979509429fe0" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:20 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "171" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[18.7],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1],\"offset\":[0],\"total\":[1]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.json b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.json deleted file mode 100644 index 9e618789f..000000000 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": []}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3c490502c71d8aff" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "421" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"ec74aa55dcd9f8614ffc61c6a36df55686b5b7b2\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "83d48a1f1f02e70c" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3aa2e31132011f7c" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "21243ee7882e8b4a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ec74aa55dcd9f8614ffc61c6a36df55686b5b7b2?offset=0&limit=1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "7dbd4a7925777777" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "499" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[5],\"offset\":[0],\"total\":[5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.json b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.json deleted file mode 100644 index e28545f4b..000000000 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}, {\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": []}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"c1240b6ba5cdafa4dd2ef1c728f0cffa\", \"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "4486c19ff5ecc5b9" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "730" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"3fa301a78ecd4ae29003185e124794ed561330c9\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c1580f9615d2edac" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e350799d749ffd2c" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "75ff4b849e478803" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3fa301a78ecd4ae29003185e124794ed561330c9?offset=0&limit=1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "f1721959b5bc6d60" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:19 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "2690" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Electronics\",\"primaryLabelValue\":\"Electronics\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Home\",\"primaryLabelValue\":\"Home\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}},{\"attributeHeader\":{\"labelValue\":\"Outdoor\",\"primaryLabelValue\":\"Outdoor\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}},{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[17],\"offset\":[0],\"total\":[17]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.json b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.json deleted file mode 100644 index 16ced901a..000000000 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d95294b16a6575a8" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "230" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"068f8dbfdb84b43698ab54cfec58f3ca0a7512ba\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "611f7f1bedf80bdb" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d20ee6dffa53b22b" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "bf4b3c26cc78ff01" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/068f8dbfdb84b43698ab54cfec58f3ca0a7512ba?offset=0&limit=1", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "8c96317c7c4577b9" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:17 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "176" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[430464.45],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1],\"offset\":[0],\"total\":[1]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.json b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.json deleted file mode 100644 index 978d6dca2..000000000 --- a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "9759ed1bfcaffb96" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "542" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"c73b5843e0bb4264ca23d3c683ec2f9739fcaa58\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "06bba59517e5fd67" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "169e4eed555156d1" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "c30680e50e812262" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c73b5843e0bb4264ca23d3c683ec2f9739fcaa58?offset=0%2C0&limit=1%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "3e663bfc4d53ac5c" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:18 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "619" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[79837.24,44700.53,192957.34,18.7,112950.64]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,5],\"offset\":[0,0],\"total\":[1,5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.json b/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.json deleted file mode 100644 index e515d04a2..000000000 --- a/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c1240b6ba5cdafa4dd2ef1c728f0cffa\"}, {\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Midwest\"]}, \"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}}}, {\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Clothing\"]}, \"label\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}}}], \"measures\": []}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"c1240b6ba5cdafa4dd2ef1c728f0cffa\", \"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "384873204c877d4a" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "730" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"c1240b6ba5cdafa4dd2ef1c728f0cffa\",\"label\":{\"id\":\"products.category\",\"type\":\"label\"},\"labelName\":\"Category\",\"attribute\":{\"id\":\"products.category\",\"type\":\"attribute\"},\"attributeName\":\"Category\",\"granularity\":null,\"primaryLabel\":{\"id\":\"products.category\",\"type\":\"label\"}}},{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"70acd2ff8edd2380660126e51dec9fc8869504b6\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e7779ce1a000af5e" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "d9de3ecba4602a0a" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "30cc350e7747ab39" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/70acd2ff8edd2380660126e51dec9fc8869504b6?offset=0&limit=1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "226cf6f2f997e9a7" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:16 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "296" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Clothing\",\"primaryLabelValue\":\"Clothing\"}}]},{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1],\"offset\":[0],\"total\":[1]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_label_series.json b/gooddata-pandas/tests/series/fixtures/simple_index_label_series.json deleted file mode 100644 index 1bfaf2acb..000000000 --- a/gooddata-pandas/tests/series/fixtures/simple_index_label_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": []}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "45835534dca07f1e" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "421" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"ec74aa55dcd9f8614ffc61c6a36df55686b5b7b2\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "f8349559d63d7a5d" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a16bfc7c33b79e24" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "7163ec262746d2e0" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/ec74aa55dcd9f8614ffc61c6a36df55686b5b7b2?offset=0&limit=1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "a48c9248a918242f" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "499" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[5],\"offset\":[0],\"total\":[5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.json b/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.json deleted file mode 100644 index f65ebe352..000000000 --- a/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.json +++ /dev/null @@ -1,448 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"2660733dfc018f739b0d142f19af7126\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}, \"aggregation\": \"SUM\", \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"27c4b665b9d047b1a66a149714f1c596\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"2660733dfc018f739b0d142f19af7126\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "2d1dc11807e47faf" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "542" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"27c4b665b9d047b1a66a149714f1c596\"}]}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"2660733dfc018f739b0d142f19af7126\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"c73b5843e0bb4264ca23d3c683ec2f9739fcaa58\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "bf81365742262664" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "4076262f29a5f1c0" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:14 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "e9bfefa79e2b7c5e" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Frame-Options": [ - "DENY" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c73b5843e0bb4264ca23d3c683ec2f9739fcaa58?offset=0%2C0&limit=1%2C1000", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Server": [ - "nginx" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-GDC-TRACE-ID": [ - "0e799a553d6d57c7" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Expires": [ - "0" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:15 GMT" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Content-Type": [ - "application/json" - ], - "Content-Length": [ - "619" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ] - }, - "body": { - "string": "{\"data\":[[79837.24,44700.53,192957.34,18.7,112950.64]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]},{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1,5],\"offset\":[0,0],\"total\":[1,5]}}" - } - } - } - ] -} diff --git a/gooddata-pandas/tests/series/test_indexed_series.py b/gooddata-pandas/tests/series/test_indexed_series.py index daf715dc5..8fe01414d 100644 --- a/gooddata-pandas/tests/series/test_indexed_series.py +++ b/gooddata-pandas/tests/series/test_indexed_series.py @@ -1,20 +1,19 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr from numpy import float64 +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import SeriesFactory from gooddata_sdk import PositiveAttributeFilter -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metric_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_metric_series.yaml")) def test_simple_index_metric_series(gds: SeriesFactory): series = gds.indexed( index_by=dict(reg="label/region"), @@ -25,7 +24,7 @@ def test_simple_index_metric_series(gds: SeriesFactory): assert series.values.dtype == float64 -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_label_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_label_series.yaml")) def test_simple_index_label_series(gds: SeriesFactory): series = gds.indexed( index_by=dict(reg="label/region"), @@ -36,7 +35,7 @@ def test_simple_index_label_series(gds: SeriesFactory): assert series["Midwest"] == "Midwest" -@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_filtered_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "simple_index_filtered_series.yaml")) def test_simple_index_filtered_series(gds: SeriesFactory): series = gds.indexed( index_by=dict(reg="label/region"), @@ -51,7 +50,7 @@ def test_simple_index_filtered_series(gds: SeriesFactory): assert series["Midwest"] == "Clothing" -@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_metric_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_metric_series.yaml")) def test_multi_index_metric_series(gds: SeriesFactory): series = gds.indexed( index_by=dict(reg="label/region", category="label/products.category"), @@ -64,7 +63,7 @@ def test_multi_index_metric_series(gds: SeriesFactory): assert series.values.dtype == float64 -@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_filtered_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "multi_index_filtered_series.yaml")) def test_multi_index_filtered_series(gds: SeriesFactory): series = gds.indexed( index_by=dict(reg="label/region", category="label/products.category"), diff --git a/gooddata-pandas/tests/series/test_not_indexed_series.py b/gooddata-pandas/tests/series/test_not_indexed_series.py index 93e40e502..f45d232a6 100644 --- a/gooddata-pandas/tests/series/test_not_indexed_series.py +++ b/gooddata-pandas/tests/series/test_not_indexed_series.py @@ -1,20 +1,19 @@ # (C) 2021 GoodData Corporation from pathlib import Path -import vcr from numpy import float64 +from tests_support.vcrpy_utils import get_vcr from gooddata_pandas import SeriesFactory from gooddata_sdk import ObjId, PositiveAttributeFilter -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metric_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metric_series.yaml")) def test_not_indexed_metric_series(gds: SeriesFactory): series = gds.not_indexed(data_by="fact/price") @@ -23,7 +22,7 @@ def test_not_indexed_metric_series(gds: SeriesFactory): assert series.values.dtype == float64 -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_label_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_label_series.yaml")) def test_not_index_label_series(gds: SeriesFactory): series = gds.not_indexed(data_by="label/region") @@ -32,7 +31,7 @@ def test_not_index_label_series(gds: SeriesFactory): assert series[4] == "West" -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metric_series_with_granularity.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_metric_series_with_granularity.yaml")) def test_not_indexed_metric_series_with_granularity(gds: SeriesFactory): series = gds.not_indexed( granularity=dict(reg="label/region"), @@ -43,7 +42,7 @@ def test_not_indexed_metric_series_with_granularity(gds: SeriesFactory): assert series.values.dtype == float64 -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_label_series_with_granularity.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_label_series_with_granularity.yaml")) def test_not_index_label_series_with_granularity(gds: SeriesFactory): series = gds.not_indexed( granularity=dict(reg="label/region"), @@ -55,7 +54,7 @@ def test_not_index_label_series_with_granularity(gds: SeriesFactory): assert len(series) == 17 -@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_filtered_metric_series.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "not_indexed_filtered_metric_series.yaml")) def test_not_indexed_filtered_metric_series(gds: SeriesFactory): # price across all regions not_filtered_series = gds.not_indexed(data_by="fact/price") diff --git a/gooddata-sdk/tests/__init__.py b/gooddata-sdk/tests/__init__.py index 8a08b4676..bdcc4b01e 100644 --- a/gooddata-sdk/tests/__init__.py +++ b/gooddata-sdk/tests/__init__.py @@ -1,7 +1,7 @@ # (C) 2021 GoodData Corporation -from dotenv import dotenv_values, find_dotenv +from __future__ import annotations -VCR_MATCH_ON = ("method", "scheme", "host", "port", "path", "query", "body") +from dotenv import dotenv_values, find_dotenv def _load_test_env(): diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.json deleted file mode 100644 index 47e382f50..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9e0c0c3cc944cd5d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"9e0c0c3cc944cd5d\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test\", \"schema\": \"demo\", \"type\": \"BIGQUERY\", \"url\": \"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=gdc-us-dev;OAuthType=0param=value\", \"token\": \"YmlncXVlcnlfc2VydmljZV9hY2NvdW50X2pzb24=\", \"enableCaching\": true, \"cachePath\": [\"cache_schema\"]}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6cd16dd792854595" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"BIGQUERY\",\"url\":\"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=0param=value;ProjectId=gdc-us-dev\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "7a199ac0e966076c" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.json deleted file mode 100644 index 457519b06..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "150e5fc20745c350" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "79ac42870b749de8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.json deleted file mode 100644 index 1c78d8c7c..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ca9a0c849ff9619e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\",\"columns\":[{\"name\":\"budget\",\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"campaign_channel_id\",\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"campaign_id\",\"dataType\":\"INT\",\"isPrimaryKey\":false,\"referencedTableId\":\"campaigns\",\"referencedTableColumn\":\"campaign_id\"},{\"name\":\"category\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"spend\",\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"type\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null}]},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/campaign_channels\"},\"type\":\"dataSourceTable\"},{\"attributes\":{\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\",\"columns\":[{\"name\":\"campaign_id\",\"dataType\":\"INT\",\"isPrimaryKey\":true,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"campaign_name\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null}]},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/campaigns\"},\"type\":\"dataSourceTable\"},{\"attributes\":{\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\",\"columns\":[{\"name\":\"customer_id\",\"dataType\":\"INT\",\"isPrimaryKey\":true,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"customer_name\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"geo__state__location\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"region\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"state\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null}]},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/customers\"},\"type\":\"dataSourceTable\"},{\"attributes\":{\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\",\"columns\":[{\"name\":\"campaign_id\",\"dataType\":\"INT\",\"isPrimaryKey\":false,\"referencedTableId\":\"campaigns\",\"referencedTableColumn\":\"campaign_id\"},{\"name\":\"customer_id\",\"dataType\":\"INT\",\"isPrimaryKey\":false,\"referencedTableId\":\"customers\",\"referencedTableColumn\":\"customer_id\"},{\"name\":\"date\",\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"order_id\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"order_line_id\",\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"order_status\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"price\",\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"product_id\",\"dataType\":\"INT\",\"isPrimaryKey\":false,\"referencedTableId\":\"products\",\"referencedTableColumn\":\"product_id\"},{\"name\":\"quantity\",\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"wdf__region\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"wdf__state\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null}]},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/order_lines\"},\"type\":\"dataSourceTable\"},{\"attributes\":{\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\",\"columns\":[{\"name\":\"category\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"product_id\",\"dataType\":\"INT\",\"isPrimaryKey\":true,\"referencedTableId\":null,\"referencedTableColumn\":null},{\"name\":\"product_name\",\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"referencedTableId\":null,\"referencedTableColumn\":null}]},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/products\"},\"type\":\"dataSourceTable\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.json deleted file mode 100644 index 8497e24df..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0e2f5bd2d77c94fd" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.json deleted file mode 100644 index 09d95eb65..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "affad36339a67ef2" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b24dd066d5f7eec5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "bc0782e5602f8524" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.json deleted file mode 100644 index 14d7743fc..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d32df4a7ade2885d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/generateLogicalModel", - "body": "{\"separator\": \"__\", \"wdfPrefix\": \"wdf\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "30613355a5c09eab" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.json deleted file mode 100644 index f3794dd64..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.json +++ /dev/null @@ -1,509 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "11bfcef85809a40f" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ec1bbe3caa149ceb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "97ccd2c6a3f5c403" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-bigquery-ds\", \"name\": \"demo-bigquery-ds\", \"schema\": \"demo\", \"type\": \"BIGQUERY\", \"url\": \"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=test;OAuthType=0\", \"enableCaching\": true, \"pdm\": {\"tables\": []}, \"permissions\": [], \"token\": \"c2VjcmV0X3Rva2Vu\"}, {\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}, {\"id\": \"demo-vertica-ds\", \"name\": \"demo-vertica-ds\", \"schema\": \"demo\", \"type\": \"VERTICA\", \"url\": \"jdbc:vertica://localhost:5434/demo\", \"enableCaching\": true, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"permissions\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "07b76bcc8e7ed0fc" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4ff5e7069fd91480" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":true,\"id\":\"demo-bigquery-ds\",\"name\":\"demo-bigquery-ds\",\"pdm\":{\"tables\":[]},\"permissions\":[],\"schema\":\"demo\",\"type\":\"BIGQUERY\",\"url\":\"jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=0;ProjectId=test\"},{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"},{\"enableCaching\":true,\"id\":\"demo-vertica-ds\",\"name\":\"demo-vertica-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[],\"schema\":\"demo\",\"type\":\"VERTICA\",\"url\":\"jdbc:vertica://localhost:5434/demo\"}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "19da9ab073303e63" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.json deleted file mode 100644 index 943472f5f..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.json +++ /dev/null @@ -1,345 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "aa3eea526a3676b3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:44 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "c7b3f486ae9e5d63" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:44 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d420c0054d510654" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:45 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "e75e61889b338643" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:45 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.json deleted file mode 100644 index 0cf5c3f1b..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.json +++ /dev/null @@ -1,436 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b59d6f82ada682c9" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:43 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSource/test", - "body": "{\"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"schema\": \"demo\", \"password\": \"demopass\", \"username\": \"demouser\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9afc6146c4d3326e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "19" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:44 GMT" - ] - }, - "body": { - "string": "{\"successful\":true}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "1ceba06e9f6ebeb1" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:44 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f2248e8f329dd714" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:44 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": "{\"dataSources\": [{\"id\": \"demo-test-ds\", \"name\": \"demo-test-ds\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"enableCaching\": false, \"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}, \"username\": \"demouser\", \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"USE\"}], \"password\": \"demopass\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "f555c9ba1a1a5c5d" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:44 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.json deleted file mode 100644 index 5af288364..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.json +++ /dev/null @@ -1,357 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5114813b9d124f1f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:38 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"amount_of_active_customers\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "89d93c7e7fa5ff85" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "272" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"amount_of_active_customers\",\"format\":\"#,##0\",\"name\":\"# of Active Customers\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"20ded4f231413590444122720c535323d614236c\"}}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/uploadNotification", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ], - "Content-Type": [ - "application/json" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "862b9f80ff97b36c" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"amount_of_active_customers\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b0319a6169a91620" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "272" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"amount_of_active_customers\",\"format\":\"#,##0\",\"name\":\"# of Active Customers\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"f4ae0258e0ba77ca8feb4b0348e49a5310c1cfd0\"}}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.json deleted file mode 100644 index a575d0fd4..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scanSchemata", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9377744856463208" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "24" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"schemaNames\":[\"demo\"]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.json deleted file mode 100644 index 4e05aeeab..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.json +++ /dev/null @@ -1,943 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f400d2a2e28a5d98" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "139bf9da62fff856" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2e50fef0c4b49f8f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ecc837cd9f4e2f21" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "493f11943150839c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "55f58f2ba3ec3948" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "716f5f7239927a74" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1912c4ec882a2053" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": "{\"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "dc710d4ed9f79e25" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b73282382cf267b8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "575c0efcdaee4602" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.json deleted file mode 100644 index ccea25fab..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "68d7c51370e0473d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "551a85f48957cd73" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c951870b54815803" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4e39878e8ef5ddf7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f521bc4fa7788155" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3d2d6865f92ed753" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.json deleted file mode 100644 index 1c69814a3..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.json +++ /dev/null @@ -1,275 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "08cd49ea444c10fa" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:45 GMT" - ] - }, - "body": { - "string": "{\"dataSources\":[{\"enableCaching\":false,\"id\":\"demo-test-ds\",\"name\":\"demo-test-ds\",\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"USE\"}],\"schema\":\"demo\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"username\":\"demouser\"}]}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSource/test", - "body": "{\"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"schema\": \"demo\", \"username\": \"demouser\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e6fc4539bd478069" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "183" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:46 GMT" - ] - }, - "body": { - "string": "{\"error\":\"Could not initialize connection to data source; caused by org.postgresql.util.PSQLException: FATAL: password authentication failed for user \\\"demouser\\\"\",\"successful\":false}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSource/test", - "body": "{\"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demo\", \"schema\": \"demo\", \"password\": \"demopass\", \"username\": \"demouser\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ebd10e596c090f5c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "19" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:46 GMT" - ] - }, - "body": { - "string": "{\"successful\":true}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.json deleted file mode 100644 index d68153270..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c9b35f4a5ed2acef" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:46 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.json deleted file mode 100644 index 7c6c19098..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.json +++ /dev/null @@ -1,257 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "45e162864cb66d79" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:46 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": "{\"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "3bd47896eae57d55" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:46 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": "{\"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "0e41742e81fa506d" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:46 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.json deleted file mode 100644 index f08baf493..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "06899972c4931a1d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan", - "body": "{\"scanTables\": false, \"scanViews\": true, \"separator\": \"__\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f9363c7354f149b0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "35" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[]},\"warnings\":[]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": "{\"pdm\": {\"tables\": []}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "5fa5f669ac8747b7" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "17e43497d5881995" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[]}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan", - "body": "{\"scanTables\": true, \"scanViews\": false, \"separator\": \"__\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "feecc04aadcdba47" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "2372" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"warnings\":[]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": "{\"pdm\": {\"tables\": [{\"columns\": [{\"dataType\": \"NUMERIC\", \"name\": \"budget\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"campaign_channel_id\", \"isPrimaryKey\": true}, {\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"spend\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"type\", \"isPrimaryKey\": false}], \"id\": \"campaign_channels\", \"path\": [\"demo\", \"campaign_channels\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"campaign_name\", \"isPrimaryKey\": false}], \"id\": \"campaigns\", \"path\": [\"demo\", \"campaigns\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"customer_name\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"geo__state__location\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"state\", \"isPrimaryKey\": false}], \"id\": \"customers\", \"path\": [\"demo\", \"customers\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"INT\", \"name\": \"campaign_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"campaigns\", \"referencedTableColumn\": \"campaign_id\"}, {\"dataType\": \"INT\", \"name\": \"customer_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"customers\", \"referencedTableColumn\": \"customer_id\"}, {\"dataType\": \"DATE\", \"name\": \"date\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_id\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"order_line_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"order_status\", \"isPrimaryKey\": false}, {\"dataType\": \"NUMERIC\", \"name\": \"price\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": false, \"referencedTableId\": \"products\", \"referencedTableColumn\": \"product_id\"}, {\"dataType\": \"NUMERIC\", \"name\": \"quantity\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__region\", \"isPrimaryKey\": false}, {\"dataType\": \"STRING\", \"name\": \"wdf__state\", \"isPrimaryKey\": false}], \"id\": \"order_lines\", \"path\": [\"demo\", \"order_lines\"], \"type\": \"TABLE\"}, {\"columns\": [{\"dataType\": \"STRING\", \"name\": \"category\", \"isPrimaryKey\": false}, {\"dataType\": \"INT\", \"name\": \"product_id\", \"isPrimaryKey\": true}, {\"dataType\": \"STRING\", \"name\": \"product_name\", \"isPrimaryKey\": false}], \"id\": \"products\", \"path\": [\"demo\", \"products\"], \"type\": \"TABLE\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "c30b60f3d43cf952" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f97297ff1b17507d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.json deleted file mode 100644 index f026bc870..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.json +++ /dev/null @@ -1,187 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan", - "body": "{\"scanTables\": true, \"scanViews\": false, \"separator\": \"__\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f46649df6a55caef" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "2372" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:47 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"budget\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"campaign_channel_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"spend\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"type\"}],\"id\":\"campaign_channels\",\"path\":[\"demo\",\"campaign_channels\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"campaign_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"campaign_name\"}],\"id\":\"campaigns\",\"path\":[\"demo\",\"campaigns\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"customer_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"customer_name\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"geo__state__location\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"state\"}],\"id\":\"customers\",\"path\":[\"demo\",\"customers\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\",\"referencedTableId\":\"campaigns\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\",\"referencedTableId\":\"customers\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\",\"referencedTableId\":\"products\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"},{\"columns\":[{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"category\"},{\"dataType\":\"INT\",\"isPrimaryKey\":true,\"name\":\"product_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"product_name\"}],\"id\":\"products\",\"path\":[\"demo\",\"products\"],\"type\":\"TABLE\"}]},\"warnings\":[]}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan", - "body": "{\"scanTables\": false, \"scanViews\": true, \"separator\": \"__\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5722621fbf5a8a73" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "35" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[]},\"warnings\":[]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.json deleted file mode 100644 index 8c2ed9888..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan", - "body": "{\"scanTables\": true, \"scanViews\": false, \"separator\": \"_\", \"tablePrefix\": \"order\"}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5d79969e0df5cb7b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "922" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:48 GMT" - ] - }, - "body": { - "string": "{\"pdm\":{\"tables\":[{\"columns\":[{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"campaign_id\",\"referencedTableColumn\":\"campaign_id\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"customer_id\",\"referencedTableColumn\":\"customer_id\"},{\"dataType\":\"DATE\",\"isPrimaryKey\":false,\"name\":\"date\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":true,\"name\":\"order_line_id\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"order_status\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"price\"},{\"dataType\":\"INT\",\"isPrimaryKey\":false,\"name\":\"product_id\",\"referencedTableColumn\":\"product_id\"},{\"dataType\":\"NUMERIC\",\"isPrimaryKey\":false,\"name\":\"quantity\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__region\"},{\"dataType\":\"STRING\",\"isPrimaryKey\":false,\"name\":\"wdf__state\"}],\"id\":\"order_lines\",\"namePrefix\":\"order\",\"path\":[\"demo\",\"order_lines\"],\"type\":\"TABLE\"}]},\"warnings\":[]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.json deleted file mode 100644 index a3c163b73..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/dremio", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "78896c4fa77a463a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"78896c4fa77a463a\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Dremio\", \"schema\": \"\", \"type\": \"DREMIO\", \"url\": \"jdbc:dremio:direct=dremio:31010\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": true, \"cachePath\": [\"$scratch\"]}, \"id\": \"dremio\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4ee193f3997448f5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"$scratch\"],\"name\":\"Dremio\",\"type\":\"DREMIO\",\"url\":\"jdbc:dremio:direct=dremio:31010\",\"schema\":\"\"},\"id\":\"dremio\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/dremio\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/dremio", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "b6a48dd12936b8c6" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.json deleted file mode 100644 index cd9d673de..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.json +++ /dev/null @@ -1,706 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "fbf99c173718ac62" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "03462c893daaec88" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"03462c893daaec88\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demoparam=value\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": true, \"cachePath\": [\"cache_schema\"]}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4194e4bf7ddb98a1" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8f89fece17e238ad" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4dcea2c2ff641ad2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "PATCH", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test2\", \"type\": \"POSTGRESQL\"}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f9d1f11267110bbf" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test2\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e54d63fe98a25fd3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test2\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "bc6c92f1ec4bff7f" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:42 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.json deleted file mode 100644 index fa74e4789..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7c8a93f5526d77f6" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"7c8a93f5526d77f6\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test2\", \"schema\": \"demo\", \"type\": \"REDSHIFT\", \"url\": \"jdbc:redshift://aws.endpoint:5439/demoparam=value\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": false}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "86280472eee02b26" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"Test2\",\"type\":\"REDSHIFT\",\"url\":\"jdbc:redshift://aws.endpoint:5439/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "20fd03ce130a4a15" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.json deleted file mode 100644 index 124cd43ee..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "43484acae4425a2b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"43484acae4425a2b\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test\", \"schema\": \"demo\", \"type\": \"SNOWFLAKE\", \"url\": \"jdbc:snowflake://gooddata.snowflakecomputing.com:443?warehouse=TIGER&db=TIGERparam=value\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": true, \"cachePath\": [\"cache_schema\"]}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0d287d608338127f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"SNOWFLAKE\",\"url\":\"jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&warehouse=TIGER\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "7479e7a1c30c6f84" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.json deleted file mode 100644 index adb250f0b..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.json +++ /dev/null @@ -1,706 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "76b3f294092327c8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:39 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c696def09b6127d2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"c696def09b6127d2\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demoparam=value\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": true, \"cachePath\": [\"cache_schema\"]}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "472f718f3d70ee44" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0a1171082b8bf00d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":true,\"cachePath\":[\"cache_schema\"],\"name\":\"Test\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test2\", \"schema\": \"demo\", \"type\": \"POSTGRESQL\", \"url\": \"jdbc:postgresql://localhost:5432/demoparam=value\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": false}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "93b7880e0e9e81b7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"Test2\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "acdb1b3634b98890" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"},{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"Test2\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "29d2179e06e3dfe4" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "810c0ba2467d0cda" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.json b/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.json deleted file mode 100644 index cdc9f6de3..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.json +++ /dev/null @@ -1,263 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0882a13218e49c63" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"0882a13218e49c63\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/dataSources", - "body": "{\"data\": {\"attributes\": {\"name\": \"Test2\", \"schema\": \"demo\", \"type\": \"VERTICA\", \"url\": \"jdbc:vertica://localhost:5433/demoparam=value\", \"username\": \"demouser\", \"password\": \"demopass\", \"enableCaching\": false}, \"id\": \"test\", \"type\": \"dataSource\"}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "27eec5300f92c315" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:40 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"Test2\",\"type\":\"VERTICA\",\"url\":\"jdbc:vertica://localhost:5433/demoparam=value\",\"schema\":\"demo\"},\"id\":\"test\",\"type\":\"dataSource\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/test\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/dataSources/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "41e4e39a81b9cbd9" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:41 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/organization.json b/gooddata-sdk/tests/catalog/fixtures/organization/organization.json deleted file mode 100644 index 201bf9681..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/organization/organization.json +++ /dev/null @@ -1,175 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3f85ac2b3fa9453a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "245d2e4cebc88fd7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_name.json b/gooddata-sdk/tests/catalog/fixtures/organization/update_name.json deleted file mode 100644 index e57eb71fc..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/organization/update_name.json +++ /dev/null @@ -1,1037 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "173eaa23aabb441d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4437dc76b2d907a2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "33f7cbed5abe02ee" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3f8ca23cd79afa7f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": "{\"data\": {\"id\": \"default\", \"type\": \"organization\", \"attributes\": {\"name\": \"test_organization\", \"hostname\": \"localhost\", \"oauthClientId\": \"d3155b41-9489-4865-b560-11875c6d5a29\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e4a61122ad7b8054" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"test_organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e71ef378c9d810f4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "74a267ad2725f8c0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"test_organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1ab29a7ac54ebd67" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "74f5a9e0c6188911" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"test_organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": "{\"data\": {\"id\": \"default\", \"type\": \"organization\", \"attributes\": {\"name\": \"Default Organization\", \"hostname\": \"localhost\", \"oauthClientId\": \"d3155b41-9489-4865-b560-11875c6d5a29\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e622ca80e5618c8b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "53b248afdcfdfced" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "49aa592ded8ce0bb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.json b/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.json deleted file mode 100644 index 89da17a16..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.json +++ /dev/null @@ -1,1037 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d011edf126aa7590" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8e8f6f0a786aa182" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c8966d8b90b19132" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "92302f8b1f01aeb4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": "{\"data\": {\"id\": \"default\", \"type\": \"organization\", \"attributes\": {\"name\": \"Default Organization\", \"hostname\": \"localhost\", \"oauthIssuerLocation\": \"test.com\", \"oauthClientId\": \"123456\", \"oauthClientSecret\": \"password\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c492db102abfea84" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthIssuerLocation\":\"test.com\",\"oauthClientId\":\"123456\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "63c1e09b21fe01ce" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "eb7769f5bcb92ed3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthIssuerLocation\":\"test.com\",\"oauthClientId\":\"123456\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ca34a40a0a747141" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d39257d7735a841c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:49 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthIssuerLocation\":\"test.com\",\"oauthClientId\":\"123456\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": "{\"data\": {\"id\": \"default\", \"type\": \"organization\", \"attributes\": {\"name\": \"Default Organization\", \"hostname\": \"localhost\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "40c1a93fc2d7e745" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3abffa5e232aef67" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1c18d8d497b03372" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.json b/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.json deleted file mode 100644 index 5bbb3a48f..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/permissions", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "54159e8315acfaf7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/permissions", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7faef5bc85f3cef9" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.json b/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.json deleted file mode 100644 index ed7d9fefa..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.json +++ /dev/null @@ -1,433 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ebe3e4803d860eb4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"hierarchyPermissions\":[],\"permissions\":[]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions", - "body": "{\"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"ANALYZE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"VIEW\"}], \"hierarchyPermissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"ANALYZE\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "deec7498edfb4497" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6c97d6b19fee8182" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions", - "body": "{\"permissions\": [], \"hierarchyPermissions\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "229e1c7e7d9ccbf5" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:50 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "13e4737253ec0b86" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"hierarchyPermissions\":[],\"permissions\":[]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.json b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.json deleted file mode 100644 index cbd3f6505..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e05df81c25076754" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/newUser?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8517fe0b97a809e7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"8517fe0b97a809e7\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/users", - "body": "{\"data\": {\"id\": \"newUser\", \"type\": \"user\", \"attributes\": {\"authenticationId\": \"newUser_auth_id\"}, \"relationships\": {\"userGroups\": {\"data\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6decc6b49f097eac" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"newUser_auth_id\"},\"id\":\"newUser\",\"type\":\"user\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/newUser\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/newUser?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a5abc343870b606b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"newUser_auth_id\"},\"id\":\"newUser\",\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},\"included\":[{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/newUser?include=userGroups\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "618773b43afaa485" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"newUser_auth_id\"},\"id\":\"newUser\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/newUser\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/newUser", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "018bb1b3602341d8" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f3bbe6b9ad67cc0f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.json b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.json deleted file mode 100644 index 41aed4970..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.json +++ /dev/null @@ -1,615 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6bffa38070264c6b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"adminQA1Group\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminQA1Group\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/newUserGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "df4de0e9da2c42d0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"df4de0e9da2c42d0\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/userGroups", - "body": "{\"data\": {\"id\": \"newUserGroup\", \"type\": \"userGroup\", \"relationships\": {\"parents\": {\"data\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "97e58212f0070096" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"newUserGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/newUserGroup\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/newUserGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "80ec7ae06141665e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"newUserGroup\",\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},\"included\":[{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/newUserGroup?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1d742fb8e59133f5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"adminQA1Group\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminQA1Group\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"newUserGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/newUserGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/userGroups/newUserGroup", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "3fd7f4814f6aff25" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d864ac20bce15151" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"adminQA1Group\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminQA1Group\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.json deleted file mode 100644 index 066649007..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8d8eda749e2915b2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "39ecfd28d3ed5f58" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.json b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.json deleted file mode 100644 index 98ed64cc0..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5672128bb1943323" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "28a4a93526f3acbc" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.json deleted file mode 100644 index 39e92403c..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "09dd6c3bb369695a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "98df930920fd7b82" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user.json b/gooddata-sdk/tests/catalog/fixtures/users/get_user.json deleted file mode 100644 index 03d91add4..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_user.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/demo2?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c312cf1e2003e0e9" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},\"included\":[{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2?include=userGroups\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.json b/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.json deleted file mode 100644 index fd6c5f07c..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "88efb4704fc8e008" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.json deleted file mode 100644 index b0fd0d7b3..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b6b1a0e0aada69e9" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"adminQA1Group\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminQA1Group\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_users.json b/gooddata-sdk/tests/catalog/fixtures/users/list_users.json deleted file mode 100644 index 8c7052219..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/list_users.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0b3863ba498ba62d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.json deleted file mode 100644 index 5b471a676..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.json +++ /dev/null @@ -1,934 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "fe511a267a862b83" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e428a04735175d34" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0dcb56aa0b0307d4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "dd8993f140762bbd" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "7807d17314f65219" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "df36694fb899d7a6" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "312522ff4c52b448" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "3ae25a8c1f3e46ab" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "cebc9ca98296ba6f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "2edafa9321418797" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": "{\"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "08115b8220e8b215" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.json b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.json deleted file mode 100644 index a64b18f15..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.json +++ /dev/null @@ -1,682 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3006a17203e9f139" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ecb3ee50d668eaa1" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "693733e6a25ecf98" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "48b104d9043b400b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "fdcb25ac2cc03f42" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": "{\"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "d7b463d38581cbbf" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "89f9b8ed15eb8ede" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": "{\"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "719e56416a8db956" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.json deleted file mode 100644 index 616fe2d44..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.json +++ /dev/null @@ -1,764 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "406c2238c6b4a251" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7f8df0e2a9e6c950" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "766b329abfe5933f" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "afa138626437104a" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "73ccd9bf39967fc6" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e506eb62afffb197" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}], \"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "64d109c9fd26407b" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a4abe98b9dab0d6b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:57 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}], \"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "ba8701b4a20fc14a" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:57 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.json deleted file mode 100644 index a4065e0e0..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.json +++ /dev/null @@ -1,764 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "933ee3c33b0a2047" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7d1af53baa9b4c7b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "531ee16689951602" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "85b48add0be78bc3" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "df7faffc9961b26c" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "4a2962443ee5f5c0" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2d4eb59717eadbf4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "a037c34a4acc3281" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": "{\"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "ebee12a786e47e14" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.json b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.json deleted file mode 100644 index e32ce89cf..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.json +++ /dev/null @@ -1,512 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c3550be912d2b02f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d6dfdc2ad88876cf" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "eb1032fd4284377d" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": "{\"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "8a3a6116f15d6714" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a05bb03da41ef5e5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": "{\"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "5f626b2312413197" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.json deleted file mode 100644 index 5f6982c4a..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.json +++ /dev/null @@ -1,594 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c55e68f61240dad1" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "10e5009894295c6c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "b8eac4c4a0acc72d" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "1ffba5ad20673f95" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}], \"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "5d014db64efea286" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d338b283c77a549f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": "{\"userGroups\": [{\"id\": \"adminGroup\"}, {\"id\": \"adminQA1Group\", \"parents\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}]}, {\"id\": \"demoGroup\"}, {\"id\": \"visitorsGroup\", \"parents\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}], \"users\": [{\"id\": \"admin\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo\", \"authId\": \"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\", \"userGroups\": [{\"id\": \"adminGroup\", \"type\": \"userGroup\"}], \"settings\": []}, {\"id\": \"demo2\", \"authId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\", \"userGroups\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "951aacb320b68594" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.json deleted file mode 100644 index b9dd4f146..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4346b4738897ac4d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/userGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1a992dfc54dae1e0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "cc5f3344e4caa7cb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "53730c5e344e2964" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1df3abe56db8774e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9545f7fc04403c59" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:54 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.json b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.json deleted file mode 100644 index 1d5b04ca7..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "fd10299e0fc40b0c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/users", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1324cb225342cd61" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c6e21329c0de986e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "fbd3b16e60f9a661" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4dc6fee6b19c4266" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6c06d03c4918a0ce" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:53 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.json b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.json deleted file mode 100644 index 1ff34e4b7..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3ce7449e9605eba5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/usersAndUserGroups", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "99f5430fa7e984b2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"userGroups\":[{\"id\":\"adminGroup\"},{\"id\":\"adminQA1Group\",\"parents\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"id\":\"demoGroup\"},{\"id\":\"visitorsGroup\",\"parents\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}],\"users\":[{\"id\":\"admin\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\",\"id\":\"demo\",\"settings\":[],\"userGroups\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]},{\"authId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\",\"id\":\"demo2\",\"settings\":[],\"userGroups\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "10b4b9e156002d1c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5cf7537580a11ecd" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:55 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "286c90b0ebead205" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "92cbbb3eebebfbc0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:56 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user.json b/gooddata-sdk/tests/catalog/fixtures/users/update_user.json deleted file mode 100644 index 09a15fa4d..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/update_user.json +++ /dev/null @@ -1,706 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/demo2?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d8084fe944123c36" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},\"included\":[{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2?include=userGroups\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/demo2?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "98547b545aa0d0a5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},\"included\":[{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2?include=userGroups\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": "{\"data\": {\"id\": \"demo2\", \"type\": \"user\", \"attributes\": {\"authenticationId\": \"demo2_123\"}, \"relationships\": {\"userGroups\": {\"data\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}, {\"id\": \"visitorsGroup\", \"type\": \"userGroup\"}]}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5f5122a3f9d23b64" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"demo2_123\"},\"id\":\"demo2\",\"type\":\"user\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/demo2?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "34894667938a5425" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"demo2_123\"},\"id\":\"demo2\",\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"visitorsGroup\",\"type\":\"userGroup\"},{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},\"included\":[{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2?include=userGroups\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/users/demo2", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "dd691d3c41bf6755" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users/demo2?include=userGroups", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d976edab367fe9ec" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:51 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"d976edab367fe9ec\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/users", - "body": "{\"data\": {\"id\": \"demo2\", \"type\": \"user\", \"attributes\": {\"authenticationId\": \"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"}, \"relationships\": {\"userGroups\": {\"data\": [{\"id\": \"demoGroup\", \"type\": \"userGroup\"}]}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d61e8e17c4f95702" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"type\":\"user\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "17673c6019c8b65d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"admin\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/admin\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs\"},\"id\":\"demo2\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo2\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"},{\"attributes\":{\"authenticationId\":\"CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users/demo\"},\"relationships\":{\"userGroups\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"user\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.json b/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.json deleted file mode 100644 index 2da87d387..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.json +++ /dev/null @@ -1,715 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0baf5e68f0808fc9" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e82b87c9b8fca76b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"adminQA1Group\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminQA1Group\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ad12b2318731b3b8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup", - "body": "{\"data\": {\"id\": \"demoGroup\", \"type\": \"userGroup\", \"relationships\": {\"parents\": {\"data\": []}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "40ca6593b0db69e0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "85d1692445ac6f0c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f83c4b6625b04231" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/userGroups/demoGroup", - "body": "{\"data\": {\"id\": \"demoGroup\", \"type\": \"userGroup\", \"relationships\": {\"parents\": {\"data\": []}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "eaa099930feca0df" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{},\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "527198b28e91e567" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:52 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"adminQA1Group\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminQA1Group\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"adminGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"visitorsGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/visitorsGroup\"},\"relationships\":{\"parents\":{\"data\":[{\"id\":\"demoGroup\",\"type\":\"userGroup\"}]}},\"type\":\"userGroup\"}],\"included\":[{\"attributes\":{},\"id\":\"adminGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/adminGroup\"},\"type\":\"userGroup\"},{\"attributes\":{},\"id\":\"demoGroup\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups/demoGroup\"},\"type\":\"userGroup\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog.json deleted file mode 100644 index 285deb544..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ab76e7bb9427409c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8634f99bfac8c6f3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "69ccf63f97979c80" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_availability.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_availability.json deleted file mode 100644 index 36b1a5bf3..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_availability.json +++ /dev/null @@ -1,360 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2d5794a734065233" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_channels.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"type\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"customer_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"region\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_line_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"order_status\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_id\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"product_name\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"products.category\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minute\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.day\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.week\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.month\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarter\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.year\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.hourOfDay\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.dayOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.monthOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"relationships\":{\"labels\":{\"data\":[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"}]}},\"type\":\"attribute\"}],\"included\":[{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\"},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3bde6b74f105bacc" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channels\",\"description\":\"Campaign channels\",\"tags\":[\"Campaign channels\"],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:campaign_channels\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaign_channels\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"budget\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Campaigns\",\"description\":\"Campaigns\",\"tags\":[\"Campaigns\"],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:campaigns\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"campaigns\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Customers\",\"description\":\"Customers\",\"tags\":[\"Customers\"],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:customers\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Order lines\",\"description\":\"Order lines\",\"tags\":[\"Order lines\"],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"referenceProperties\":[{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]},{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"dataSourceTableId\":\"demo-test-ds:order_lines\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"order_lines\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}]},\"facts\":{\"data\":[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Products\",\"description\":\"Products\",\"tags\":[\"Products\"],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"dataSourceTableId\":\"demo-test-ds:products\",\"areRelationsValid\":true,\"type\":\"NORMAL\"},\"id\":\"products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"},{\"attributes\":{\"title\":\"Date\",\"description\":\"\",\"tags\":[\"Date\"],\"areRelationsValid\":true,\"type\":\"DATE\"},\"id\":\"date\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date\"},\"relationships\":{\"attributes\":{\"data\":[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}]}},\"type\":\"dataset\"}],\"included\":[{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\"},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\"},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\"},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\"},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\"},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\"},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\"},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\"},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\"},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\"},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\"},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\"},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\"},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\"},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\"},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\"},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\"},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\"},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\"},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "97cbe378d30eb69b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/computeValidObjects", - "body": "{\"afm\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"campaign_spend\"}]}, \"types\": [\"facts\", \"attributes\", \"measures\"]}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "70506b21b3894e61" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "1502" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:11 GMT" - ] - }, - "body": { - "string": "{\"items\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"},{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"type\",\"type\":\"attribute\"},{\"id\":\"budget\",\"type\":\"fact\"},{\"id\":\"price\",\"type\":\"fact\"},{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"},{\"id\":\"amount_of_orders\",\"type\":\"metric\"},{\"id\":\"amount_of_top_customers\",\"type\":\"metric\"},{\"id\":\"amount_of_valid_orders\",\"type\":\"metric\"},{\"id\":\"campaign_spend\",\"type\":\"metric\"},{\"id\":\"order_amount\",\"type\":\"metric\"},{\"id\":\"percent_revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_customers\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_customers\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_products\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_products\",\"type\":\"metric\"},{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"},{\"id\":\"revenue-clothing\",\"type\":\"metric\"},{\"id\":\"revenue-electronic\",\"type\":\"metric\"},{\"id\":\"revenue-home\",\"type\":\"metric\"},{\"id\":\"revenue-outdoor\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_per_customer\",\"type\":\"metric\"},{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"},{\"id\":\"revenue_top_10\",\"type\":\"metric\"},{\"id\":\"revenue_top_10_percent\",\"type\":\"metric\"},{\"id\":\"total_revenue-no_filters\",\"type\":\"metric\"},{\"id\":\"total_revenue\",\"type\":\"metric\"}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_attributes.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_attributes.json deleted file mode 100644 index db410d11f..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_attributes.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/attributes?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6f1806ddd92c909b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_channel_id\"},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"areRelationsValid\":true,\"sourceColumn\":\"type\"},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_id\"},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"areRelationsValid\":true,\"sourceColumn\":\"campaign_name\"},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_id\"},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"customer_name\"},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"region\"},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"areRelationsValid\":true,\"sourceColumn\":\"state\"},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_id\"},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_line_id\"},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"areRelationsValid\":true,\"sourceColumn\":\"order_status\"},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_id\"},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"product_name\"},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"areRelationsValid\":true,\"sourceColumn\":\"category\"},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"granularity\":\"HOUR\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"granularity\":\"DAY\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"granularity\":\"YEAR\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"granularity\":\"MINUTE_OF_HOUR\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"granularity\":\"HOUR_OF_DAY\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_WEEK\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_MONTH\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"granularity\":\"DAY_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"granularity\":\"WEEK_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"granularity\":\"MONTH_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear\"},\"type\":\"attribute\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"granularity\":\"QUARTER_OF_YEAR\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear\"},\"type\":\"attribute\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/attributes?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_facts.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_facts.json deleted file mode 100644 index 6709953a9..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_facts.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/facts?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4fee7079a92a7bb1" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Budget\",\"description\":\"Budget\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"budget\",\"areRelationsValid\":true},\"id\":\"budget\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Spend\",\"description\":\"Spend\",\"tags\":[\"Campaign channels\"],\"sourceColumn\":\"spend\",\"areRelationsValid\":true},\"id\":\"spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Price\",\"description\":\"Price\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"price\",\"areRelationsValid\":true},\"id\":\"price\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/price\"},\"type\":\"fact\"},{\"attributes\":{\"title\":\"Quantity\",\"description\":\"Quantity\",\"tags\":[\"Order lines\"],\"sourceColumn\":\"quantity\",\"areRelationsValid\":true},\"id\":\"quantity\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity\"},\"type\":\"fact\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/facts?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_labels.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_labels.json deleted file mode 100644 index e0a7258c1..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_labels.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/labels?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5d402856fc3fe9c5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Campaign channel id\",\"description\":\"Campaign channel id\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"campaign_channel_id\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"campaign_channel_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"campaign_channels.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Type\",\"description\":\"Type\",\"tags\":[\"Campaign channels\"],\"primary\":true,\"sourceColumn\":\"type\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"type\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/type\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign id\",\"description\":\"Campaign id\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_id\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"campaign_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Campaign name\",\"description\":\"Campaign name\",\"tags\":[\"Campaigns\"],\"primary\":true,\"sourceColumn\":\"campaign_name\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"campaign_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer id\",\"description\":\"Customer id\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_id\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"customer_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Customer name\",\"description\":\"Customer name\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"customer_name\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"customer_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Region\",\"description\":\"Region\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"region\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"region\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/region\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"State\",\"description\":\"State\",\"tags\":[\"Customers\"],\"primary\":true,\"sourceColumn\":\"state\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"state\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/state\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Location\",\"description\":\"Location\",\"tags\":[\"Customers\"],\"primary\":false,\"sourceColumn\":\"geo__state__location\",\"areRelationsValid\":true},\"id\":\"geo__state__location\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order id\",\"description\":\"Order id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_id\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"order_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order line id\",\"description\":\"Order line id\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_line_id\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"order_line_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Order status\",\"description\":\"Order status\",\"tags\":[\"Order lines\"],\"primary\":true,\"sourceColumn\":\"order_status\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"order_status\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product id\",\"description\":\"Product id\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_id\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"product_id\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Product name\",\"description\":\"Product name\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"product_name\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"product_name\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Category\",\"description\":\"Category\",\"tags\":[\"Products\"],\"primary\":true,\"sourceColumn\":\"category\",\"valueType\":\"TEXT\",\"areRelationsValid\":true},\"id\":\"products.category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute\",\"description\":\"Minute\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.minute\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour\",\"description\":\"Hour\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.hour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Date\",\"description\":\"Date\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.day\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week/Year\",\"description\":\"Week and Year (W52/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.week\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month/Year\",\"description\":\"Month and Year (12/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.month\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter/Year\",\"description\":\"Quarter and Year (Q1/2020)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.quarter\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Year\",\"description\":\"Year\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.year\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Minute of Hour\",\"description\":\"Generic Minute of the Hour(MI1-MI60)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.minuteOfHour\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Hour of Day\",\"description\":\"Generic Hour of the Day(H1-H24)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.hourOfDay\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Week\",\"description\":\"Generic Day of the Week (D1-D7)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.dayOfWeek\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Month\",\"description\":\"Generic Day of the Month (D1-D31)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.dayOfMonth\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Day of Year\",\"description\":\"Generic Day of the Year (D1-D366)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.dayOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Week of Year\",\"description\":\"Generic Week (W1-W53)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.weekOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Month of Year\",\"description\":\"Generic Month (M1-M12)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.monthOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear\"},\"type\":\"label\"},{\"attributes\":{\"title\":\"Date - Quarter of Year\",\"description\":\"Generic Quarter (Q1-Q4)\",\"tags\":[\"Date\"],\"primary\":true,\"sourceColumn\":\"\",\"areRelationsValid\":true},\"id\":\"date.quarterOfYear\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear\"},\"type\":\"label\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/labels?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_metrics.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_metrics.json deleted file mode 100644 index b4ba26978..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_catalog_list_metrics.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5512175a23a791b7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"title\":\"Revenue / Top 10\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Orders\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"}},\"id\":\"amount_of_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Campaign Spend\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"}},\"id\":\"campaign_spend\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue in Category\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}},\"id\":\"percent_revenue_in_category\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Customer\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}},\"id\":\"revenue_per_customer\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue / Top 10%\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}},\"id\":\"revenue_top_10_percent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"}},\"id\":\"total_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10 Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Order Amount\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"}},\"id\":\"order_amount\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Active Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}},\"id\":\"amount_of_active_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Clothing)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}},\"id\":\"revenue-clothing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"}},\"id\":\"percent_revenue\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Outdoor)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}},\"id\":\"revenue-outdoor\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Products\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_products\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue per Dollar Spent\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"}},\"id\":\"revenue_per_dollar_spent\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Home)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}},\"id\":\"revenue-home\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Total Revenue (No Filters)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}},\"id\":\"total_revenue-no_filters\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue per Product\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}},\"id\":\"percent_revenue_per_product\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Valid Orders\",\"description\":\"\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}},\"id\":\"amount_of_valid_orders\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"# of Top Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}},\"id\":\"amount_of_top_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"% Revenue from Top 10% Customers\",\"areRelationsValid\":true,\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers\"},\"type\":\"metric\"},{\"attributes\":{\"title\":\"Revenue (Electronic)\",\"areRelationsValid\":true,\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}},\"id\":\"revenue-electronic\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic\"},\"type\":\"metric\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.json deleted file mode 100644 index eebcd8708..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.json +++ /dev/null @@ -1,703 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "62312a623b5c05e7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5f0be3ee182ce6aa" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"5f0be3ee182ce6aa\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"test\", \"type\": \"workspace\", \"attributes\": {\"name\": \"Test\"}, \"relationships\": {\"parent\": {\"data\": {\"id\": \"demo\", \"type\": \"workspace\"}}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "50c3be23d9a10a62" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Test\"},\"id\":\"test\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "881ac16cd19dfd2d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Test\"},\"id\":\"test\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bb43c60ae8be536a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Test\"},\"id\":\"test\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3e9ed1aecc9b986a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Test\"},\"id\":\"test\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "62a308e1c69dd00b" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9cb5a9ff198c4c67" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.json deleted file mode 100644 index 044b08749..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8e7ab7597a0605cd" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:01 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "529123942b04984d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:01 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.json deleted file mode 100644 index c6a9cadac..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bc498877fb45bffb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9fc642e68e652c37" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8a8078b4572a677a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.json deleted file mode 100644 index cbd461a53..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.json +++ /dev/null @@ -1,269 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8eafe4827dfcdaff" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a598f855f18fbabd" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2a47e02713183a4e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.json deleted file mode 100644 index 2d62e7231..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.json +++ /dev/null @@ -1,703 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west_california?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "89cb874cbb88ec1d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c14aaafe001885d7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "79e6349f561c0f5e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west_california", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "b9ecf40de1660d90" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d6f2baf09b58d04d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west_california?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0107d2f7143e113e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"0107d2f7143e113e\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"demo_west_california\", \"type\": \"workspace\", \"attributes\": {\"name\": \"Demo West California\"}, \"relationships\": {\"parent\": {\"data\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "47d3402809629489" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "86e874ad0661e51d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_analytics_model.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_analytics_model.json deleted file mode 100644 index a634860a2..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_analytics_model.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "501de6ade152f928" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_ldm.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_ldm.json deleted file mode 100644 index 695f2cd14..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_ldm.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8b31bb96a4cb3fc8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.json deleted file mode 100644 index d6ebf8897..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Content-Type": [ - "application/json" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:16 GMT" - ], - "Server": [ - "nginx" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "07ff0fa9f224c95e" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Frame-Options": [ - "DENY" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Content-Type": [ - "application/json" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:17 GMT" - ], - "Server": [ - "nginx" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "fc34cb6cf0c90986" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "X-Frame-Options": [ - "DENY" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.json deleted file mode 100644 index ba0d34094..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "49824337b48537f8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6377bde3257293ff" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.json deleted file mode 100644 index 8a7866652..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f2e64bedcce08424" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:01 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.json deleted file mode 100644 index 1d6c3983b..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2ee2953744b44aaa" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:01 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph.json deleted file mode 100644 index 8eeed4c89..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/dependentEntitiesGraph", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d0399b8aff8b3029" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:12 GMT" - ] - }, - "body": { - "string": "{\"graph\":{\"edges\":[[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}],[{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}],[{\"id\":\"campaign_id\",\"type\":\"attribute\"},{\"id\":\"campaigns\",\"type\":\"dataset\"}],[{\"id\":\"campaign_name\",\"type\":\"attribute\"},{\"id\":\"campaigns\",\"type\":\"dataset\"}],[{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"customers\",\"type\":\"dataset\"}],[{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}],[{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}],[{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"amount_of_top_customers\",\"type\":\"metric\"}],[{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"percent_revenue_from_top_10_percent_customers\",\"type\":\"metric\"}],[{\"id\":\"customer_id\",\"type\":\"attribute\"},{\"id\":\"percent_revenue_from_top_10_customers\",\"type\":\"metric\"}],[{\"id\":\"customer_name\",\"type\":\"attribute\"},{\"id\":\"customers\",\"type\":\"dataset\"}],[{\"id\":\"date.day\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.hour\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.minute\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.month\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.quarter\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.week\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"product_revenue_comparison-over_previous_period\",\"type\":\"visualizationObject\"}],[{\"id\":\"date.year\",\"type\":\"attribute\"},{\"id\":\"date\",\"type\":\"dataset\"}],[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"amount_of_orders\",\"type\":\"metric\"}],[{\"id\":\"order_id\",\"type\":\"attribute\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"order_line_id\",\"type\":\"attribute\"},{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}],[{\"id\":\"order_line_id\",\"type\":\"attribute\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"order_status\",\"type\":\"attribute\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"percent_revenue_from_top_10_percent_products\",\"type\":\"metric\"}],[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}],[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"products\",\"type\":\"dataset\"}],[{\"id\":\"product_id\",\"type\":\"attribute\"},{\"id\":\"percent_revenue_from_top_10_products\",\"type\":\"metric\"}],[{\"id\":\"product_name\",\"type\":\"attribute\"},{\"id\":\"products\",\"type\":\"dataset\"}],[{\"id\":\"products.category\",\"type\":\"attribute\"},{\"id\":\"products\",\"type\":\"dataset\"}],[{\"id\":\"products.category\",\"type\":\"attribute\"},{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}],[{\"id\":\"region\",\"type\":\"attribute\"},{\"id\":\"customers\",\"type\":\"dataset\"}],[{\"id\":\"state\",\"type\":\"attribute\"},{\"id\":\"customers\",\"type\":\"dataset\"}],[{\"id\":\"type\",\"type\":\"attribute\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}],[{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"},{\"id\":\"dashboard_plugin\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"campaigns\",\"type\":\"dataset\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}],[{\"id\":\"campaigns\",\"type\":\"dataset\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"customers\",\"type\":\"dataset\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"revenue_by_category_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"product_revenue_comparison-over_previous_period\",\"type\":\"visualizationObject\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"date\",\"type\":\"dataset\"},{\"id\":\"percentage_of_customers_by_region\",\"type\":\"visualizationObject\"}],[{\"id\":\"products\",\"type\":\"dataset\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"budget\",\"type\":\"fact\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}],[{\"id\":\"price\",\"type\":\"fact\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"price\",\"type\":\"fact\"},{\"id\":\"order_amount\",\"type\":\"metric\"}],[{\"id\":\"price\",\"type\":\"fact\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"order_lines\",\"type\":\"dataset\"}],[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"order_amount\",\"type\":\"metric\"}],[{\"id\":\"quantity\",\"type\":\"fact\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}],[{\"id\":\"spend\",\"type\":\"fact\"},{\"id\":\"campaign_spend\",\"type\":\"metric\"}],[{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"},{\"id\":\"campaign\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"},{\"id\":\"dashboard_plugin\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"region_filter\",\"type\":\"filterContext\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"campaign_channel_id\",\"type\":\"label\"},{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],[{\"id\":\"campaign_channels.category\",\"type\":\"label\"},{\"id\":\"campaign_channels.category\",\"type\":\"attribute\"}],[{\"id\":\"campaign_channels.category\",\"type\":\"label\"},{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}],[{\"id\":\"campaign_id\",\"type\":\"label\"},{\"id\":\"campaign_id\",\"type\":\"attribute\"}],[{\"id\":\"campaign_name\",\"type\":\"label\"},{\"id\":\"campaign_name\",\"type\":\"attribute\"}],[{\"id\":\"campaign_name\",\"type\":\"label\"},{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}],[{\"id\":\"campaign_name\",\"type\":\"label\"},{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}],[{\"id\":\"campaign_name\",\"type\":\"label\"},{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}],[{\"id\":\"customer_id\",\"type\":\"label\"},{\"id\":\"customer_id\",\"type\":\"attribute\"}],[{\"id\":\"customer_name\",\"type\":\"label\"},{\"id\":\"customer_name\",\"type\":\"attribute\"}],[{\"id\":\"customer_name\",\"type\":\"label\"},{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"customer_name\",\"type\":\"label\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"customer_name\",\"type\":\"label\"},{\"id\":\"top_10_customers\",\"type\":\"visualizationObject\"}],[{\"id\":\"date.day\",\"type\":\"label\"},{\"id\":\"date.day\",\"type\":\"attribute\"}],[{\"id\":\"date.dayOfMonth\",\"type\":\"label\"},{\"id\":\"date.dayOfMonth\",\"type\":\"attribute\"}],[{\"id\":\"date.dayOfWeek\",\"type\":\"label\"},{\"id\":\"date.dayOfWeek\",\"type\":\"attribute\"}],[{\"id\":\"date.dayOfYear\",\"type\":\"label\"},{\"id\":\"date.dayOfYear\",\"type\":\"attribute\"}],[{\"id\":\"date.hour\",\"type\":\"label\"},{\"id\":\"date.hour\",\"type\":\"attribute\"}],[{\"id\":\"date.hourOfDay\",\"type\":\"label\"},{\"id\":\"date.hourOfDay\",\"type\":\"attribute\"}],[{\"id\":\"date.minute\",\"type\":\"label\"},{\"id\":\"date.minute\",\"type\":\"attribute\"}],[{\"id\":\"date.minuteOfHour\",\"type\":\"label\"},{\"id\":\"date.minuteOfHour\",\"type\":\"attribute\"}],[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"revenue_by_category_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"percentage_of_customers_by_region\",\"type\":\"visualizationObject\"}],[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"date.month\",\"type\":\"attribute\"}],[{\"id\":\"date.month\",\"type\":\"label\"},{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"date.monthOfYear\",\"type\":\"label\"},{\"id\":\"date.monthOfYear\",\"type\":\"attribute\"}],[{\"id\":\"date.quarter\",\"type\":\"label\"},{\"id\":\"date.quarter\",\"type\":\"attribute\"}],[{\"id\":\"date.quarterOfYear\",\"type\":\"label\"},{\"id\":\"date.quarterOfYear\",\"type\":\"attribute\"}],[{\"id\":\"date.week\",\"type\":\"label\"},{\"id\":\"date.week\",\"type\":\"attribute\"}],[{\"id\":\"date.weekOfYear\",\"type\":\"label\"},{\"id\":\"date.weekOfYear\",\"type\":\"attribute\"}],[{\"id\":\"date.year\",\"type\":\"label\"},{\"id\":\"date.year\",\"type\":\"attribute\"}],[{\"id\":\"geo__state__location\",\"type\":\"label\"},{\"id\":\"state\",\"type\":\"attribute\"}],[{\"id\":\"order_id\",\"type\":\"label\"},{\"id\":\"order_id\",\"type\":\"attribute\"}],[{\"id\":\"order_line_id\",\"type\":\"label\"},{\"id\":\"order_line_id\",\"type\":\"attribute\"}],[{\"id\":\"order_status\",\"type\":\"label\"},{\"id\":\"revenue\",\"type\":\"metric\"}],[{\"id\":\"order_status\",\"type\":\"label\"},{\"id\":\"order_status\",\"type\":\"attribute\"}],[{\"id\":\"order_status\",\"type\":\"label\"},{\"id\":\"amount_of_valid_orders\",\"type\":\"metric\"}],[{\"id\":\"product_id\",\"type\":\"label\"},{\"id\":\"product_id\",\"type\":\"attribute\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"revenue_by_product\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"product_revenue_comparison-over_previous_period\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"product_name\",\"type\":\"attribute\"}],[{\"id\":\"product_name\",\"type\":\"label\"},{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"revenue_by_category_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"revenue-home\",\"type\":\"metric\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"products.category\",\"type\":\"attribute\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"revenue-clothing\",\"type\":\"metric\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_revenue_comparison-over_previous_period\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"revenue-outdoor\",\"type\":\"metric\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"revenue-electronic\",\"type\":\"metric\"}],[{\"id\":\"products.category\",\"type\":\"label\"},{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"region\",\"type\":\"label\"},{\"id\":\"percentage_of_customers_by_region\",\"type\":\"visualizationObject\"}],[{\"id\":\"region\",\"type\":\"label\"},{\"id\":\"region\",\"type\":\"attribute\"}],[{\"id\":\"region\",\"type\":\"label\"},{\"id\":\"region_filter\",\"type\":\"filterContext\"}],[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"state\",\"type\":\"attribute\"}],[{\"id\":\"state\",\"type\":\"label\"},{\"id\":\"top_10_customers\",\"type\":\"visualizationObject\"}],[{\"id\":\"type\",\"type\":\"label\"},{\"id\":\"type\",\"type\":\"attribute\"}],[{\"id\":\"type\",\"type\":\"label\"},{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}],[{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"},{\"id\":\"amount_of_top_customers\",\"type\":\"metric\"}],[{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"},{\"id\":\"percentage_of_customers_by_region\",\"type\":\"visualizationObject\"}],[{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"},{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"amount_of_orders\",\"type\":\"metric\"},{\"id\":\"amount_of_valid_orders\",\"type\":\"metric\"}],[{\"id\":\"amount_of_orders\",\"type\":\"metric\"},{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}],[{\"id\":\"amount_of_orders\",\"type\":\"metric\"},{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"campaign_spend\",\"type\":\"metric\"},{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}],[{\"id\":\"campaign_spend\",\"type\":\"metric\"},{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}],[{\"id\":\"campaign_spend\",\"type\":\"metric\"},{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}],[{\"id\":\"order_amount\",\"type\":\"metric\"},{\"id\":\"revenue\",\"type\":\"metric\"}],[{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"},{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"total_revenue\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_by_category_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue-clothing\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_by_product\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"product_revenue_comparison-over_previous_period\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_top_10\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_products\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue-electronic\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue-home\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"amount_of_top_customers\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue-outdoor\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_customers\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_top_10_percent\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_products\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue\",\"type\":\"metric\"}],[{\"id\":\"revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_customers\",\"type\":\"metric\"}],[{\"id\":\"revenue_per_customer\",\"type\":\"metric\"},{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"},{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue_top_10\",\"type\":\"metric\"},{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue_top_10\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_products\",\"type\":\"metric\"}],[{\"id\":\"revenue_top_10\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_customers\",\"type\":\"metric\"}],[{\"id\":\"revenue_top_10\",\"type\":\"metric\"},{\"id\":\"top_10_customers\",\"type\":\"visualizationObject\"}],[{\"id\":\"revenue_top_10_percent\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_customers\",\"type\":\"metric\"}],[{\"id\":\"revenue_top_10_percent\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_products\",\"type\":\"metric\"}],[{\"id\":\"total_revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue\",\"type\":\"metric\"}],[{\"id\":\"total_revenue\",\"type\":\"metric\"},{\"id\":\"total_revenue-no_filters\",\"type\":\"metric\"}],[{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"},{\"id\":\"campaign\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"},{\"id\":\"campaign\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"},{\"id\":\"product_and_category\",\"type\":\"analyticalDashboard\"}],[{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"},{\"id\":\"dashboard_plugin\",\"type\":\"analyticalDashboard\"}]],\"nodes\":[{\"id\":\"campaign\",\"title\":\"Campaign\",\"type\":\"analyticalDashboard\"},{\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\",\"type\":\"analyticalDashboard\"},{\"id\":\"product_and_category\",\"title\":\"Product & Category\",\"type\":\"analyticalDashboard\"},{\"id\":\"campaign_channel_id\",\"title\":\"Campaign channel id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels.category\",\"title\":\"Category\",\"type\":\"attribute\"},{\"id\":\"campaign_id\",\"title\":\"Campaign id\",\"type\":\"attribute\"},{\"id\":\"campaign_name\",\"title\":\"Campaign name\",\"type\":\"attribute\"},{\"id\":\"customer_id\",\"title\":\"Customer id\",\"type\":\"attribute\"},{\"id\":\"customer_name\",\"title\":\"Customer name\",\"type\":\"attribute\"},{\"id\":\"date.day\",\"title\":\"Date - Date\",\"type\":\"attribute\"},{\"id\":\"date.dayOfMonth\",\"title\":\"Date - Day of Month\",\"type\":\"attribute\"},{\"id\":\"date.dayOfWeek\",\"title\":\"Date - Day of Week\",\"type\":\"attribute\"},{\"id\":\"date.dayOfYear\",\"title\":\"Date - Day of Year\",\"type\":\"attribute\"},{\"id\":\"date.hour\",\"title\":\"Date - Hour\",\"type\":\"attribute\"},{\"id\":\"date.hourOfDay\",\"title\":\"Date - Hour of Day\",\"type\":\"attribute\"},{\"id\":\"date.minute\",\"title\":\"Date - Minute\",\"type\":\"attribute\"},{\"id\":\"date.minuteOfHour\",\"title\":\"Date - Minute of Hour\",\"type\":\"attribute\"},{\"id\":\"date.month\",\"title\":\"Date - Month/Year\",\"type\":\"attribute\"},{\"id\":\"date.monthOfYear\",\"title\":\"Date - Month of Year\",\"type\":\"attribute\"},{\"id\":\"date.quarter\",\"title\":\"Date - Quarter/Year\",\"type\":\"attribute\"},{\"id\":\"date.quarterOfYear\",\"title\":\"Date - Quarter of Year\",\"type\":\"attribute\"},{\"id\":\"date.week\",\"title\":\"Date - Week/Year\",\"type\":\"attribute\"},{\"id\":\"date.weekOfYear\",\"title\":\"Date - Week of Year\",\"type\":\"attribute\"},{\"id\":\"date.year\",\"title\":\"Date - Year\",\"type\":\"attribute\"},{\"id\":\"order_id\",\"title\":\"Order id\",\"type\":\"attribute\"},{\"id\":\"order_line_id\",\"title\":\"Order line id\",\"type\":\"attribute\"},{\"id\":\"order_status\",\"title\":\"Order status\",\"type\":\"attribute\"},{\"id\":\"product_id\",\"title\":\"Product id\",\"type\":\"attribute\"},{\"id\":\"product_name\",\"title\":\"Product name\",\"type\":\"attribute\"},{\"id\":\"products.category\",\"title\":\"Category\",\"type\":\"attribute\"},{\"id\":\"region\",\"title\":\"Region\",\"type\":\"attribute\"},{\"id\":\"state\",\"title\":\"State\",\"type\":\"attribute\"},{\"id\":\"type\",\"title\":\"Type\",\"type\":\"attribute\"},{\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"},{\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\",\"type\":\"dashboardPlugin\"},{\"id\":\"campaign_channels\",\"title\":\"Campaign channels\",\"type\":\"dataset\"},{\"id\":\"campaigns\",\"title\":\"Campaigns\",\"type\":\"dataset\"},{\"id\":\"customers\",\"title\":\"Customers\",\"type\":\"dataset\"},{\"id\":\"date\",\"title\":\"Date\",\"type\":\"dataset\"},{\"id\":\"order_lines\",\"title\":\"Order lines\",\"type\":\"dataset\"},{\"id\":\"products\",\"title\":\"Products\",\"type\":\"dataset\"},{\"id\":\"budget\",\"title\":\"Budget\",\"type\":\"fact\"},{\"id\":\"price\",\"title\":\"Price\",\"type\":\"fact\"},{\"id\":\"quantity\",\"title\":\"Quantity\",\"type\":\"fact\"},{\"id\":\"spend\",\"title\":\"Spend\",\"type\":\"fact\"},{\"id\":\"campaign_name_filter\",\"title\":\"filterContext\",\"type\":\"filterContext\"},{\"id\":\"region_filter\",\"title\":\"filterContext\",\"type\":\"filterContext\"},{\"id\":\"campaign_channel_id\",\"title\":\"Campaign channel id\",\"type\":\"label\"},{\"id\":\"campaign_channels.category\",\"title\":\"Category\",\"type\":\"label\"},{\"id\":\"campaign_id\",\"title\":\"Campaign id\",\"type\":\"label\"},{\"id\":\"campaign_name\",\"title\":\"Campaign name\",\"type\":\"label\"},{\"id\":\"customer_id\",\"title\":\"Customer id\",\"type\":\"label\"},{\"id\":\"customer_name\",\"title\":\"Customer name\",\"type\":\"label\"},{\"id\":\"date.day\",\"title\":\"Date - Date\",\"type\":\"label\"},{\"id\":\"date.dayOfMonth\",\"title\":\"Date - Day of Month\",\"type\":\"label\"},{\"id\":\"date.dayOfWeek\",\"title\":\"Date - Day of Week\",\"type\":\"label\"},{\"id\":\"date.dayOfYear\",\"title\":\"Date - Day of Year\",\"type\":\"label\"},{\"id\":\"date.hour\",\"title\":\"Date - Hour\",\"type\":\"label\"},{\"id\":\"date.hourOfDay\",\"title\":\"Date - Hour of Day\",\"type\":\"label\"},{\"id\":\"date.minute\",\"title\":\"Date - Minute\",\"type\":\"label\"},{\"id\":\"date.minuteOfHour\",\"title\":\"Date - Minute of Hour\",\"type\":\"label\"},{\"id\":\"date.month\",\"title\":\"Date - Month/Year\",\"type\":\"label\"},{\"id\":\"date.monthOfYear\",\"title\":\"Date - Month of Year\",\"type\":\"label\"},{\"id\":\"date.quarter\",\"title\":\"Date - Quarter/Year\",\"type\":\"label\"},{\"id\":\"date.quarterOfYear\",\"title\":\"Date - Quarter of Year\",\"type\":\"label\"},{\"id\":\"date.week\",\"title\":\"Date - Week/Year\",\"type\":\"label\"},{\"id\":\"date.weekOfYear\",\"title\":\"Date - Week of Year\",\"type\":\"label\"},{\"id\":\"date.year\",\"title\":\"Date - Year\",\"type\":\"label\"},{\"id\":\"geo__state__location\",\"title\":\"Location\",\"type\":\"label\"},{\"id\":\"order_id\",\"title\":\"Order id\",\"type\":\"label\"},{\"id\":\"order_line_id\",\"title\":\"Order line id\",\"type\":\"label\"},{\"id\":\"order_status\",\"title\":\"Order status\",\"type\":\"label\"},{\"id\":\"product_id\",\"title\":\"Product id\",\"type\":\"label\"},{\"id\":\"product_name\",\"title\":\"Product name\",\"type\":\"label\"},{\"id\":\"products.category\",\"title\":\"Category\",\"type\":\"label\"},{\"id\":\"region\",\"title\":\"Region\",\"type\":\"label\"},{\"id\":\"state\",\"title\":\"State\",\"type\":\"label\"},{\"id\":\"type\",\"title\":\"Type\",\"type\":\"label\"},{\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\",\"type\":\"metric\"},{\"id\":\"amount_of_orders\",\"title\":\"# of Orders\",\"type\":\"metric\"},{\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\",\"type\":\"metric\"},{\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\",\"type\":\"metric\"},{\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\",\"type\":\"metric\"},{\"id\":\"order_amount\",\"title\":\"Order Amount\",\"type\":\"metric\"},{\"id\":\"percent_revenue\",\"title\":\"% Revenue\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\",\"type\":\"metric\"},{\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\",\"type\":\"metric\"},{\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\",\"type\":\"metric\"},{\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\",\"type\":\"metric\"},{\"id\":\"revenue\",\"title\":\"Revenue\",\"type\":\"metric\"},{\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\",\"type\":\"metric\"},{\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\",\"type\":\"metric\"},{\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\",\"type\":\"metric\"},{\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\",\"type\":\"metric\"},{\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\",\"type\":\"metric\"},{\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\",\"type\":\"metric\"},{\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\",\"type\":\"metric\"},{\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\",\"type\":\"metric\"},{\"id\":\"total_revenue\",\"title\":\"Total Revenue\",\"type\":\"metric\"},{\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\",\"type\":\"metric\"},{\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\",\"type\":\"visualizationObject\"},{\"id\":\"customers_trend\",\"title\":\"Customers Trend\",\"type\":\"visualizationObject\"},{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\",\"type\":\"visualizationObject\"},{\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\",\"type\":\"visualizationObject\"},{\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\",\"type\":\"visualizationObject\"},{\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\",\"type\":\"visualizationObject\"},{\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\",\"type\":\"visualizationObject\"},{\"id\":\"product_saleability\",\"title\":\"Product Saleability\",\"type\":\"visualizationObject\"},{\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\",\"type\":\"visualizationObject\"},{\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\",\"type\":\"visualizationObject\"},{\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\",\"type\":\"visualizationObject\"},{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"type\":\"visualizationObject\"},{\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\",\"type\":\"visualizationObject\"},{\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\",\"type\":\"visualizationObject\"},{\"id\":\"top_10_products\",\"title\":\"Top 10 Products\",\"type\":\"visualizationObject\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph_from_entry_points.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph_from_entry_points.json deleted file mode 100644 index 3d67346b8..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_dependent_entities_graph_from_entry_points.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/dependentEntitiesGraph", - "body": "{\"identifiers\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}]}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0d9fc5e17ee4051c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:12 GMT" - ] - }, - "body": { - "string": "{\"graph\":{\"edges\":[[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels\",\"type\":\"dataset\"}]],\"nodes\":[{\"id\":\"campaign_channel_id\",\"title\":\"Campaign channel id\",\"type\":\"attribute\"},{\"id\":\"campaign_channels\",\"title\":\"Campaign channels\",\"type\":\"dataset\"}]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.json deleted file mode 100644 index 39a3bf516..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.json +++ /dev/null @@ -1,181 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b81efc0666ddfca2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0402f050a330ad6c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_modify_ds_and_put_declarative_ldm.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_modify_ds_and_put_declarative_ldm.json deleted file mode 100644 index 2484b6b56..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_modify_ds_and_put_declarative_ldm.json +++ /dev/null @@ -1,867 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "32306df55b6e79b7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"32306df55b6e79b7\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"demo_testing\", \"type\": \"workspace\", \"attributes\": {\"name\": \"demo_testing\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "41c1f1662a6baa3f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4c84bf8fc4bd831d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0ace2d9752738b95" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "c433aa33a206dd75" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/dataSources?page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2e5d6f3a3ed802f5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"username\":\"demouser\",\"enableCaching\":false,\"name\":\"demo-test-ds\",\"type\":\"POSTGRESQL\",\"url\":\"jdbc:postgresql://localhost:5432/demo\",\"schema\":\"demo\"},\"id\":\"demo-test-ds\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources/demo-test-ds\"},\"type\":\"dataSource\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/dataSources?page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/dataSources?page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "d807504425ec7d40" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5927dcc161a37468" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "61d45a2568530abc" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "12557ab12d8cb41c" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_analytics_model.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_analytics_model.json deleted file mode 100644 index fe7af8b89..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_analytics_model.json +++ /dev/null @@ -1,949 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "24ac52cb254e8eb6" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"24ac52cb254e8eb6\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"demo_testing\", \"type\": \"workspace\", \"attributes\": {\"name\": \"demo_testing\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9086581e346096af" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c68c3bfb8a4d3ec2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "c1c522da776f6643" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4e9e211af77a2ab8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "e627e1760fec4fe6" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a03e2d986af3e947" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/analyticsModel", - "body": "{\"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Campaign Spend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Revenue per $ vs Spend by Campaign\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Top 10 Products\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Revenue Trend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Customers Trend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Categories Pie Chart\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Breakdown\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Saleability\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"% Revenue per Product by Customer and Category\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"granularity\": \"GDC.time.month\", \"to\": \"0\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"attributeElements\": {\"uris\": []}, \"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"filterElementsBy\": [], \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"negativeSelection\": true}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"attributeElements\": {\"uris\": []}, \"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"filterElementsBy\": [], \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"negativeSelection\": true}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"format\": \"#,##0.00%\", \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "047270d5469e392e" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "3923c41779c13dbb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Campaign Spend\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Revenue per $ vs Spend by Campaign\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Top 10 Products\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Revenue Trend\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Customers Trend\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Product Categories Pie Chart\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Product Breakdown\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Product Saleability\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"% Revenue per Product by Customer and Category\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"granularity\":\"GDC.time.month\",\"to\":\"0\",\"type\":\"relative\"}},{\"attributeFilter\":{\"attributeElements\":{\"uris\":[]},\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"filterElementsBy\":[],\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"negativeSelection\":true}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"attributeElements\":{\"uris\":[]},\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"filterElementsBy\":[],\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"negativeSelection\":true}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"format\":\"#,##0.00%\",\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "81401ada4db67a35" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "bddc4de3117a39e9" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_ldm.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_ldm.json deleted file mode 100644 index 979fe4bdf..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_ldm.json +++ /dev/null @@ -1,779 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bc2bc44f79b44dfe" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"bc2bc44f79b44dfe\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"demo_testing\", \"type\": \"workspace\", \"attributes\": {\"name\": \"demo_testing\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a3c16c696c076bf7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0b9ac347f817224c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7b8b19346816e0fc" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "896084e4a3962b62" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "7a27db1f1c3fd619" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "07831fe881cf7993" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ddf235481ae1f72f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "0139cb30dc880a50" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:06 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.json deleted file mode 100644 index 26271d388..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.json +++ /dev/null @@ -1,685 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "7583eb40c7b4a653" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:01 GMT" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Content-Type": [ - "application/json" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": "{}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "cc383d8d0809bebf" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "X-Frame-Options": [ - "DENY" - ], - "GoodData-Deployment": [ - "aio" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Expires": [ - "0" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:01 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "5c0636ce0b9cf39a" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:01 GMT" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Content-Type": [ - "application/json" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "97a7622c9892839a" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:01 GMT" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "2490af55fe4f2d2b" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:02 GMT" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Campaign Spend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Revenue per $ vs Spend by Campaign\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Top 10 Products\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Revenue Trend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Customers Trend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Categories Pie Chart\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Breakdown\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Saleability\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"% Revenue per Product by Customer and Category\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"granularity\": \"GDC.time.month\", \"to\": \"0\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"attributeElements\": {\"uris\": []}, \"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"filterElementsBy\": [], \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"negativeSelection\": true}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"attributeElements\": {\"uris\": []}, \"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"filterElementsBy\": [], \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"negativeSelection\": true}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"format\": \"#,##0.00%\", \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "7ec90c6d8bfe2f14" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "X-Frame-Options": [ - "DENY" - ], - "GoodData-Deployment": [ - "aio" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Expires": [ - "0" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:02 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "c139a4cd17e128c2" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:02 GMT" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Content-Type": [ - "application/json" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Pragma": [ - "no-cache" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Campaign Spend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue per $ vs Spend by Campaign\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Top 10 Products\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Customers Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Categories Pie Chart\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Breakdown\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Saleability\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 12}}, \"widget\": {\"type\": \"insight\", \"title\": \"% Revenue per Product by Customer and Category\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"to\": \"0\", \"granularity\": \"GDC.time.month\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\", \"format\": \"#,##0.00%\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "X-GDC-TRACE-ID": [ - "42f800fd8a1f8d67" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "X-Frame-Options": [ - "DENY" - ], - "GoodData-Deployment": [ - "aio" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Expires": [ - "0" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Connection": [ - "keep-alive" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Wed, 24 Aug 2022 13:23:02 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.json deleted file mode 100644 index 7aa5a674f..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.json +++ /dev/null @@ -1,685 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a5de75ad62bb1f2b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": "{\"workspaceDataFilters\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "e22c72977a6f5b81" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d414caa074ba8749" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ecc00eb4493e6023" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "199a6bd429fbc019" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "db00ca1cf8499862" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b141552965c861e2" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "88d4f62902417ba2" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.json deleted file mode 100644 index 8b86225ee..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.json +++ /dev/null @@ -1,597 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": "{\"workspaceDataFilters\": [], \"workspaces\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "933e5456ffa6f776" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:57 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ea360dba57aa4f77" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:57 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[],\"workspaces\":[]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6241ab36e21dff9e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:57 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "46708537f8548475" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:57 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspaces\": [{\"id\": \"demo\", \"name\": \"Demo\", \"model\": {\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Campaign Spend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Revenue per $ vs Spend by Campaign\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Top 10 Products\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Revenue Trend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Customers Trend\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Categories Pie Chart\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Breakdown\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 6}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"Product Saleability\", \"type\": \"insight\"}}, {\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"% Revenue per Product by Customer and Category\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"granularity\": \"GDC.time.month\", \"to\": \"0\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"attributeElements\": {\"uris\": []}, \"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"filterElementsBy\": [], \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"negativeSelection\": true}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"attributeElements\": {\"uris\": []}, \"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"filterElementsBy\": [], \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"negativeSelection\": true}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"format\": \"#,##0.00%\", \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}, \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"ANALYZE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"VIEW\"}], \"hierarchyPermissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"ANALYZE\"}], \"settings\": []}, {\"id\": \"demo_west\", \"name\": \"Demo West\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}, {\"id\": \"demo_west_california\", \"name\": \"Demo West California\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo_west\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "e8911920155cd410" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:58 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0c1cd99c7204e70a" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:58 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Campaign Spend\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Revenue per $ vs Spend by Campaign\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Top 10 Products\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Revenue Trend\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Customers Trend\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Product Categories Pie Chart\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Product Breakdown\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":6}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"Product Saleability\",\"type\":\"insight\"}},{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"% Revenue per Product by Customer and Category\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"granularity\":\"GDC.time.month\",\"to\":\"0\",\"type\":\"relative\"}},{\"attributeFilter\":{\"attributeElements\":{\"uris\":[]},\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"filterElementsBy\":[],\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"negativeSelection\":true}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"attributeElements\":{\"uris\":[]},\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"filterElementsBy\":[],\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"negativeSelection\":true}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"format\":\"#,##0.00%\",\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspaces\": [{\"id\": \"demo\", \"name\": \"Demo\", \"model\": {\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Campaign Spend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue per $ vs Spend by Campaign\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Top 10 Products\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Customers Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Categories Pie Chart\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Breakdown\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Saleability\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 12}}, \"widget\": {\"type\": \"insight\", \"title\": \"% Revenue per Product by Customer and Category\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"to\": \"0\", \"granularity\": \"GDC.time.month\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\", \"format\": \"#,##0.00%\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}, \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"ANALYZE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"VIEW\"}], \"hierarchyPermissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"ANALYZE\"}], \"settings\": []}, {\"id\": \"demo_west\", \"name\": \"Demo West\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}, {\"id\": \"demo_west_california\", \"name\": \"Demo West California\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo_west\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "26d957b830fc3432" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:58 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_analytics_model.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_analytics_model.json deleted file mode 100644 index 64ea00199..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_analytics_model.json +++ /dev/null @@ -1,779 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "db2564a67f08152e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"db2564a67f08152e\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"test_put_declarative_analytics_model\", \"type\": \"workspace\", \"attributes\": {\"name\": \"test_put_declarative_analytics_model\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a42771d4635d3aed" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"test_put_declarative_analytics_model\"},\"id\":\"test_put_declarative_analytics_model\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1e79853576483379" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/logicalModel", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "c705d7a410bae31e" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "44dafac238695b25" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel", - "body": "{\"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "7f98683592d93967" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "845fb543685e6955" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:09 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8a0f3d123dce4d5d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"test_put_declarative_analytics_model\"},\"id\":\"test_put_declarative_analytics_model\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model\"},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "1ad4842c8a1d3bd3" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_ldm.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_ldm.json deleted file mode 100644 index 3e9c4c052..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_ldm.json +++ /dev/null @@ -1,609 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b45ef6e17ff6f98f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/problem+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"b45ef6e17ff6f98f\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"test_put_declarative_ldm\", \"type\": \"workspace\", \"attributes\": {\"name\": \"test_put_declarative_ldm\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "215d1ba9e0fbc3cb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"test_put_declarative_ldm\"},\"id\":\"test_put_declarative_ldm\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "c1b091fd2ffe102c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_ldm/logicalModel", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "2853b999606d00c2" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_ldm/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2486fc67b617e56f" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8745433b7ee01734" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"test_put_declarative_ldm\"},\"id\":\"test_put_declarative_ldm\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm\"},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "4c2c8f7e5e86a1f3" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:10 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.json deleted file mode 100644 index a9b90ffb6..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.json +++ /dev/null @@ -1,697 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 404, - "message": "" - }, - "headers": { - "GoodData-Deployment": [ - "aio" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:20 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Content-Type": [ - "application/problem+json" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b9d61a45f22616e4" - ] - }, - "body": { - "string": "{\"detail\":\"The requested endpoint does not exist or you do not have permission to access it.\",\"status\":404,\"title\":\"Not Found\",\"traceId\":\"b9d61a45f22616e4\"}" - } - } - }, - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/entities/workspaces", - "body": "{\"data\": {\"id\": \"demo_testing\", \"type\": \"workspace\", \"attributes\": {\"name\": \"demo_testing\"}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 201, - "message": "" - }, - "headers": { - "GoodData-Deployment": [ - "aio" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:20 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5e0ec5ec13c4056c" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "GoodData-Deployment": [ - "aio" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:21 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Content-Type": [ - "application/json" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "cac8ce54d3275b6a" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo_testing", - "body": "{\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Campaign Spend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue per $ vs Spend by Campaign\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Top 10 Products\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Customers Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Categories Pie Chart\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Breakdown\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Saleability\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 12}}, \"widget\": {\"type\": \"insight\", \"title\": \"% Revenue per Product by Customer and Category\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"to\": \"0\", \"granularity\": \"GDC.time.month\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\", \"format\": \"#,##0.00%\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-GDC-TRACE-ID": [ - "5b4511645c5004ea" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:21 GMT" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "GoodData-Deployment": [ - "aio" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:21 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Content-Type": [ - "application/json" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "16dc1b19054932c8" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "GoodData-Deployment": [ - "aio" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:21 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "64bf6ec9aac24800" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"demo_testing\"},\"id\":\"demo_testing\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_testing\"},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "DELETE", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_testing", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "GoodData-Deployment": [ - "aio" - ], - "Expires": [ - "0" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-GDC-TRACE-ID": [ - "a52d847348b8bfdd" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:22 GMT" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "GoodData-Deployment": [ - "aio" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "X-Frame-Options": [ - "DENY" - ], - "Date": [ - "Wed, 24 Aug 2022 13:14:22 GMT" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Server": [ - "nginx" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Transfer-Encoding": [ - "chunked" - ], - "Pragma": [ - "no-cache" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "Expires": [ - "0" - ], - "Connection": [ - "keep-alive" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bba62071276188b7" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.json deleted file mode 100644 index 1c5239543..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.json +++ /dev/null @@ -1,515 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "51fa61479c88eaff" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": "{\"workspaceDataFilters\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "dd517fee6986524c" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "58ba89c12d17cf7b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "1b85b8a75a2eda17" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bee47cda495560bc" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "484cc996e8f1cdc8" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.json deleted file mode 100644 index 5e63d7320..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.json +++ /dev/null @@ -1,515 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8f3fc0a9e813c6f3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:59 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": "{\"workspaceDataFilters\": [], \"workspaces\": []}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "89177d9029cfb73f" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:00 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ce7051fa8227e2c5" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:00 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[],\"workspaces\":[]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspaces\": [{\"id\": \"demo\", \"name\": \"Demo\", \"model\": {\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Campaign Spend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue per $ vs Spend by Campaign\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Top 10 Products\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Customers Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Categories Pie Chart\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Breakdown\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Saleability\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 12}}, \"widget\": {\"type\": \"insight\", \"title\": \"% Revenue per Product by Customer and Category\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"to\": \"0\", \"granularity\": \"GDC.time.month\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\", \"format\": \"#,##0.00%\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}, \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"ANALYZE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"VIEW\"}], \"hierarchyPermissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"ANALYZE\"}], \"settings\": []}, {\"id\": \"demo_west\", \"name\": \"Demo West\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}, {\"id\": \"demo_west_california\", \"name\": \"Demo West California\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo_west\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "056b153410133a5a" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:00 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "48ea1fb6bec8cdea" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:00 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": "{\"workspaceDataFilters\": [{\"columnName\": \"wdf__region\", \"id\": \"wdf__region\", \"title\": \"Customer region\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"West\"], \"id\": \"region_west\", \"title\": \"Region West\", \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo\", \"type\": \"workspace\"}}, {\"columnName\": \"wdf__state\", \"id\": \"wdf__state\", \"title\": \"Customer state\", \"workspaceDataFilterSettings\": [{\"filterValues\": [\"California\"], \"id\": \"region_west_california\", \"title\": \"Region West California\", \"workspace\": {\"id\": \"demo_west_california\", \"type\": \"workspace\"}}], \"workspace\": {\"id\": \"demo_west\", \"type\": \"workspace\"}}], \"workspaces\": [{\"id\": \"demo\", \"name\": \"Demo\", \"model\": {\"ldm\": {\"datasets\": [{\"grain\": [{\"id\": \"campaign_channel_id\", \"type\": \"attribute\"}], \"id\": \"campaign_channels\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}], \"title\": \"Campaign channels\", \"description\": \"Campaign channels\", \"attributes\": [{\"id\": \"campaign_channel_id\", \"labels\": [], \"sourceColumn\": \"campaign_channel_id\", \"title\": \"Campaign channel id\", \"description\": \"Campaign channel id\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"campaign_channels.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"type\", \"labels\": [], \"sourceColumn\": \"type\", \"title\": \"Type\", \"description\": \"Type\", \"tags\": [\"Campaign channels\"]}], \"facts\": [{\"id\": \"budget\", \"sourceColumn\": \"budget\", \"title\": \"Budget\", \"description\": \"Budget\", \"tags\": [\"Campaign channels\"]}, {\"id\": \"spend\", \"sourceColumn\": \"spend\", \"title\": \"Spend\", \"description\": \"Spend\", \"tags\": [\"Campaign channels\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaign_channels\", \"type\": \"dataSource\"}, \"tags\": [\"Campaign channels\"]}, {\"grain\": [{\"id\": \"campaign_id\", \"type\": \"attribute\"}], \"id\": \"campaigns\", \"references\": [], \"title\": \"Campaigns\", \"description\": \"Campaigns\", \"attributes\": [{\"id\": \"campaign_id\", \"labels\": [], \"sourceColumn\": \"campaign_id\", \"title\": \"Campaign id\", \"description\": \"Campaign id\", \"tags\": [\"Campaigns\"]}, {\"id\": \"campaign_name\", \"labels\": [], \"sourceColumn\": \"campaign_name\", \"title\": \"Campaign name\", \"description\": \"Campaign name\", \"tags\": [\"Campaigns\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"campaigns\", \"type\": \"dataSource\"}, \"tags\": [\"Campaigns\"]}, {\"grain\": [{\"id\": \"customer_id\", \"type\": \"attribute\"}], \"id\": \"customers\", \"references\": [], \"title\": \"Customers\", \"description\": \"Customers\", \"attributes\": [{\"id\": \"customer_id\", \"labels\": [], \"sourceColumn\": \"customer_id\", \"title\": \"Customer id\", \"description\": \"Customer id\", \"tags\": [\"Customers\"]}, {\"id\": \"customer_name\", \"labels\": [], \"sourceColumn\": \"customer_name\", \"title\": \"Customer name\", \"description\": \"Customer name\", \"tags\": [\"Customers\"]}, {\"id\": \"region\", \"labels\": [], \"sourceColumn\": \"region\", \"title\": \"Region\", \"description\": \"Region\", \"tags\": [\"Customers\"]}, {\"id\": \"state\", \"labels\": [{\"id\": \"geo__state__location\", \"sourceColumn\": \"geo__state__location\", \"title\": \"Location\", \"description\": \"Location\", \"tags\": [\"Customers\"]}], \"sourceColumn\": \"state\", \"title\": \"State\", \"description\": \"State\", \"tags\": [\"Customers\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"customers\", \"type\": \"dataSource\"}, \"tags\": [\"Customers\"]}, {\"grain\": [{\"id\": \"order_line_id\", \"type\": \"attribute\"}], \"id\": \"order_lines\", \"references\": [{\"identifier\": {\"id\": \"campaigns\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"campaign_id\"]}, {\"identifier\": {\"id\": \"customers\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"customer_id\"]}, {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"date\"]}, {\"identifier\": {\"id\": \"products\", \"type\": \"dataset\"}, \"multivalue\": false, \"sourceColumns\": [\"product_id\"]}], \"title\": \"Order lines\", \"description\": \"Order lines\", \"attributes\": [{\"id\": \"order_id\", \"labels\": [], \"sourceColumn\": \"order_id\", \"title\": \"Order id\", \"description\": \"Order id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_line_id\", \"labels\": [], \"sourceColumn\": \"order_line_id\", \"title\": \"Order line id\", \"description\": \"Order line id\", \"tags\": [\"Order lines\"]}, {\"id\": \"order_status\", \"labels\": [], \"sourceColumn\": \"order_status\", \"title\": \"Order status\", \"description\": \"Order status\", \"tags\": [\"Order lines\"]}], \"facts\": [{\"id\": \"price\", \"sourceColumn\": \"price\", \"title\": \"Price\", \"description\": \"Price\", \"tags\": [\"Order lines\"]}, {\"id\": \"quantity\", \"sourceColumn\": \"quantity\", \"title\": \"Quantity\", \"description\": \"Quantity\", \"tags\": [\"Order lines\"]}], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"order_lines\", \"type\": \"dataSource\"}, \"tags\": [\"Order lines\"]}, {\"grain\": [{\"id\": \"product_id\", \"type\": \"attribute\"}], \"id\": \"products\", \"references\": [], \"title\": \"Products\", \"description\": \"Products\", \"attributes\": [{\"id\": \"product_id\", \"labels\": [], \"sourceColumn\": \"product_id\", \"title\": \"Product id\", \"description\": \"Product id\", \"tags\": [\"Products\"]}, {\"id\": \"product_name\", \"labels\": [], \"sourceColumn\": \"product_name\", \"title\": \"Product name\", \"description\": \"Product name\", \"tags\": [\"Products\"]}, {\"id\": \"products.category\", \"labels\": [], \"sourceColumn\": \"category\", \"title\": \"Category\", \"description\": \"Category\", \"tags\": [\"Products\"]}], \"facts\": [], \"dataSourceTableId\": {\"dataSourceId\": \"demo-test-ds\", \"id\": \"products\", \"type\": \"dataSource\"}, \"tags\": [\"Products\"]}], \"dateInstances\": [{\"granularities\": [\"MINUTE\", \"HOUR\", \"DAY\", \"WEEK\", \"MONTH\", \"QUARTER\", \"YEAR\", \"MINUTE_OF_HOUR\", \"HOUR_OF_DAY\", \"DAY_OF_WEEK\", \"DAY_OF_MONTH\", \"DAY_OF_YEAR\", \"WEEK_OF_YEAR\", \"MONTH_OF_YEAR\", \"QUARTER_OF_YEAR\"], \"granularitiesFormatting\": {\"titleBase\": \"\", \"titlePattern\": \"%titleBase - %granularityTitle\"}, \"id\": \"date\", \"title\": \"Date\", \"description\": \"\", \"tags\": [\"Date\"]}]}, \"analytics\": {\"analyticalDashboards\": [{\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Campaign Spend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue per $ vs Spend by Campaign\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"campaign\", \"title\": \"Campaign\", \"description\": \"\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"campaign_name_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"sections\": [{\"items\": [{\"size\": {\"xl\": {\"gridWidth\": 12}}, \"type\": \"IDashboardLayoutItem\", \"widget\": {\"description\": \"\", \"drills\": [], \"ignoreDashboardFilters\": [], \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"properties\": {}, \"title\": \"DHO simple\", \"type\": \"insight\"}}], \"type\": \"IDashboardLayoutSection\"}], \"type\": \"IDashboardLayout\"}, \"plugins\": [{\"plugin\": {\"identifier\": {\"id\": \"dashboard_plugin_1\", \"type\": \"dashboardPlugin\"}}, \"version\": \"2\"}], \"version\": \"2\"}, \"id\": \"dashboard_plugin\", \"title\": \"Dashboard plugin\"}, {\"content\": {\"filterContextRef\": {\"identifier\": {\"id\": \"region_filter\", \"type\": \"filterContext\"}}, \"layout\": {\"type\": \"IDashboardLayout\", \"sections\": [{\"type\": \"IDashboardLayoutSection\", \"items\": [{\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Top 10 Products\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"top_10_products\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Revenue Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"revenue_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Customers Trend\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"customers_trend\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Categories Pie Chart\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_categories_pie_chart\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Breakdown\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_breakdown\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 6}}, \"widget\": {\"type\": \"insight\", \"title\": \"Product Saleability\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"product_saleability\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}, {\"type\": \"IDashboardLayoutItem\", \"size\": {\"xl\": {\"gridWidth\": 12}}, \"widget\": {\"type\": \"insight\", \"title\": \"% Revenue per Product by Customer and Category\", \"description\": \"\", \"ignoreDashboardFilters\": [], \"dateDataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"insight\": {\"identifier\": {\"id\": \"percent_revenue_per_product_by_customer_and_category\", \"type\": \"visualizationObject\"}}, \"drills\": [], \"properties\": {}}}]}]}, \"version\": \"2\"}, \"id\": \"product_and_category\", \"title\": \"Product & Category\", \"description\": \"\"}], \"dashboardPlugins\": [{\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_1\", \"title\": \"dashboard_plugin_1\", \"description\": \"Testing record dashboard_plugin_1\"}, {\"content\": {\"url\": \"https://www.example.com\", \"version\": \"2\"}, \"id\": \"dashboard_plugin_2\", \"title\": \"dashboard_plugin_2\", \"description\": \"Testing record dashboard_plugin_2\"}], \"filterContexts\": [{\"content\": {\"filters\": [{\"dateFilter\": {\"from\": \"0\", \"to\": \"0\", \"granularity\": \"GDC.time.month\", \"type\": \"relative\"}}, {\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"14b0807447ef4bc28f43e4fc5c337d1d\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"campaign_name_filter\", \"title\": \"filterContext\", \"description\": \"\"}, {\"content\": {\"filters\": [{\"attributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"negativeSelection\": true, \"attributeElements\": {\"uris\": []}, \"localIdentifier\": \"2d5ef8df82444f6ba27b45f0990ee6af\", \"filterElementsBy\": []}}], \"version\": \"2\"}, \"id\": \"region_filter\", \"title\": \"filterContext\", \"description\": \"\"}], \"metrics\": [{\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"}, \"id\": \"amount_of_active_customers\", \"title\": \"# of Active Customers\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT COUNT({attribute/order_id})\"}, \"id\": \"amount_of_orders\", \"title\": \"# of Orders\"}, {\"content\": {\"format\": \"#,##0\", \"maql\": \"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"}, \"id\": \"amount_of_top_customers\", \"title\": \"# of Top Customers\"}, {\"content\": {\"format\": \"#,##0.00\", \"maql\": \"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"amount_of_valid_orders\", \"title\": \"# of Valid Orders\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/spend})\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT SUM({fact/price}*{fact/quantity})\"}, \"id\": \"order_amount\", \"title\": \"Order Amount\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / {metric/total_revenue}\"}, \"id\": \"percent_revenue\", \"title\": \"% Revenue\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_customers\", \"title\": \"% Revenue from Top 10 Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_customers\", \"title\": \"% Revenue from Top 10% Customers\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_percent_products\", \"title\": \"% Revenue from Top 10% Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"}, \"id\": \"percent_revenue_from_top_10_products\", \"title\": \"% Revenue from Top 10 Products\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"}, \"id\": \"percent_revenue_in_category\", \"title\": \"% Revenue in Category\"}, {\"content\": {\"format\": \"#,##0.0%\", \"maql\": \"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"}, \"id\": \"percent_revenue_per_product\", \"title\": \"% Revenue per Product\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"}, \"id\": \"revenue\", \"title\": \"Revenue\", \"description\": \"\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"}, \"id\": \"revenue-clothing\", \"title\": \"Revenue (Clothing)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"}, \"id\": \"revenue-electronic\", \"title\": \"Revenue (Electronic)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"}, \"id\": \"revenue-home\", \"title\": \"Revenue (Home)\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"}, \"id\": \"revenue-outdoor\", \"title\": \"Revenue (Outdoor)\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"}, \"id\": \"revenue_per_customer\", \"title\": \"Revenue per Customer\"}, {\"content\": {\"format\": \"$#,##0.0\", \"maql\": \"SELECT {metric/revenue} / {metric/campaign_spend}\"}, \"id\": \"revenue_per_dollar_spent\", \"title\": \"Revenue per Dollar Spent\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10\", \"title\": \"Revenue / Top 10\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"}, \"id\": \"revenue_top_10_percent\", \"title\": \"Revenue / Top 10%\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/revenue} BY ALL OTHER\"}, \"id\": \"total_revenue\", \"title\": \"Total Revenue\"}, {\"content\": {\"format\": \"$#,##0\", \"maql\": \"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"}, \"id\": \"total_revenue-no_filters\", \"title\": \"Total Revenue (No Filters)\"}], \"visualizationObjects\": [{\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"d319bcb2d8c04442a684e3b3cd063381\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"localIdentifier\": \"291c085e7df8420db84117ca49f59c49\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d9dd143d647d4d148405a60ec2cf59bc\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"type\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_channels.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"campaign_spend\", \"title\": \"Campaign Spend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Active Customers\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2ba0b87b59ca41a4b1530e81a5c1d081\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_customer\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"ec0606894b9f4897b7beaf1550608928\", \"title\": \"Revenue per Customer\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"0de7d7f08af7480aa636857a26be72b6\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"colorMapping\": [{\"color\": {\"type\": \"guid\", \"value\": \"20\"}, \"id\": \"2ba0b87b59ca41a4b1530e81a5c1d081\"}, {\"color\": {\"type\": \"guid\", \"value\": \"4\"}, \"id\": \"ec0606894b9f4897b7beaf1550608928\"}], \"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"ec0606894b9f4897b7beaf1550608928\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"customers_trend\", \"title\": \"Customers Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_per_product\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"08d8346c1ce7438994b251991c0fbf65\", \"title\": \"% Revenue per Product\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"b2350c06688b4da9b3833ebcce65527f\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"7a4045fd00ac44579f52406df679435f\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"6a003ffd14994237ba64c4a02c488429\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"75ea396d0c8b48098e31dccf8b5801d3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"7a4045fd00ac44579f52406df679435f\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"percent_revenue_per_product_by_customer_and_category\", \"title\": \"% Revenue per Product by Customer and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_active_customers\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"1a14cdc1293c46e89a2e25d3e741d235\", \"title\": \"# of Active Customers\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"c1feca1864244ec2ace7a9b9d7fda231\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"530cddbd7ca04d039e73462d81ed44d5\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasuresToPercent\": true}}, \"version\": \"2\", \"visualizationUrl\": \"local:area\"}, \"id\": \"percentage_of_customers_by_region\", \"title\": \"Percentage of Customers by Region\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"590d332ef686468b8878ae41b23341c6\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"b166c71091864312a14c7ae8ff886ffe\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"e920a50e0bbb49788df0aac53634c1cd\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:treemap\"}, \"id\": \"product_breakdown\", \"title\": \"Product Breakdown\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": true, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"162b857af49d45769bc12604a5c192b9\", \"title\": \"% Revenue\", \"format\": \"#,##0.00%\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:donut\"}, \"id\": \"product_categories_pie_chart\", \"title\": \"Product Categories Pie Chart\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Previous Period\", \"definition\": {\"popMeasureDefinition\": {\"measureIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"popAttribute\": {\"identifier\": {\"id\": \"date.year\", \"type\": \"attribute\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe_pop\"}}, {\"measure\": {\"alias\": \"This Period\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c82e025fa2db4afea9a600a424591dbe\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"c804ef5ba7944a5a9f360c86a9e95e9a\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -11, \"granularity\": \"GDC.time.month\", \"to\": 0}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}, \"stackMeasures\": false, \"xaxis\": {\"name\": {\"visible\": false}}, \"yaxis\": {\"name\": {\"visible\": false}}}}, \"version\": \"2\", \"visualizationUrl\": \"local:column\"}, \"id\": \"product_revenue_comparison-over_previous_period\", \"title\": \"Product Revenue Comparison (over previous period)\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"aeb5d51a162d4b59aba3bd6ddebcc780\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"94b3edd3a73c4a48a4d13bbe9442cc98\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"d2a991bdd123448eb2be73d79f1180c4\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"dataLabels\": {\"visible\": \"auto\"}, \"grid\": {\"enabled\": true}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"product_saleability\", \"title\": \"Product Saleability\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"alias\": \"Items Sold\", \"definition\": {\"measureDefinition\": {\"aggregation\": \"sum\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"quantity\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"29486504dd0e4a36a18b0b2f792d3a46\", \"title\": \"Sum of Quantity\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"aggregation\": \"avg\", \"filters\": [], \"item\": {\"identifier\": {\"id\": \"price\", \"type\": \"fact\"}}}}, \"format\": \"#,##0.00\", \"localIdentifier\": \"aa6391acccf1452f8011201aef9af492\", \"title\": \"Avg Price\"}}, {\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"percent_revenue_in_category\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"2cd39539d8da46c9883e63caa3ba7cc0\", \"title\": \"% Revenue in Category\"}}, {\"measure\": {\"alias\": \"Total Revenue\", \"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"9a0f08331c094c7facf2a0b4f418de0a\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\"}}, {\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"sorts\": [{\"attributeSortItem\": {\"attributeIdentifier\": \"06bc6b3b9949466494e4f594c11f1bff\", \"direction\": \"asc\"}}], \"version\": \"2\", \"visualizationUrl\": \"local:table\"}, \"id\": \"revenue_and_quantity_by_product_and_category\", \"title\": \"Revenue and Quantity by Product and Category\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"7df6c34387744d69b23ec92e1a5cf543\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"4bb4fc1986c546de9ad976e6ec23fed4\"}}], \"localIdentifier\": \"trend\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"34bddcb1cd024902a82396216b0fa9d8\"}}], \"localIdentifier\": \"segment\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"granularity\": \"GDC.time.year\"}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:line\"}, \"id\": \"revenue_by_category_trend\", \"title\": \"Revenue by Category Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"4ae3401bdbba4938afe983df4ba04e1c\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1c8ba72dbfc84ddd913bf81dc355c427\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"revenue_by_product\", \"title\": \"Revenue by Product\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"campaign_spend\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"13a50d811e474ac6808d8da7f4673b35\", \"title\": \"Campaign Spend\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_per_dollar_spent\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"a0f15e82e6334280a44dbedc7d086e7c\", \"title\": \"Revenue per Dollar Spent\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"localIdentifier\": \"1d9fa968bafb423eb29c938dfb1207ff\"}}], \"localIdentifier\": \"attribute\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"campaign_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"xaxis\": {\"min\": \"0\"}, \"yaxis\": {\"min\": \"0\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:scatter\"}, \"id\": \"revenue_per_usd_vs_spend_by_campaign\", \"title\": \"Revenue per $ vs Spend by Campaign\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"60c854969a9c4c278ab596d99c222e92\", \"title\": \"Revenue\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"measure\": {\"alias\": \"Number of Orders\", \"definition\": {\"measureDefinition\": {\"computeRatio\": false, \"filters\": [], \"item\": {\"identifier\": {\"id\": \"amount_of_orders\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"c2fa7ef48cc54af99f8c280eb451e051\", \"title\": \"# of Orders\"}}], \"localIdentifier\": \"secondary_measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"date.month\", \"type\": \"label\"}}, \"localIdentifier\": \"413ac374b65648fa96826ca01d47bdda\"}}], \"localIdentifier\": \"view\"}], \"filters\": [{\"relativeDateFilter\": {\"dataSet\": {\"identifier\": {\"id\": \"date\", \"type\": \"dataset\"}}, \"from\": -3, \"granularity\": \"GDC.time.quarter\", \"to\": 0}}], \"properties\": {\"controls\": {\"dualAxis\": true, \"legend\": {\"position\": \"bottom\"}, \"primaryChartType\": \"column\", \"secondaryChartType\": \"line\", \"secondary_yaxis\": {\"measures\": [\"c2fa7ef48cc54af99f8c280eb451e051\"]}, \"xaxis\": {\"name\": {\"visible\": false}, \"rotation\": \"auto\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:combo2\"}, \"id\": \"revenue_trend\", \"title\": \"Revenue Trend\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"3f127ccfe57a40399e23f9ae2a4ad810\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"localIdentifier\": \"f4e39e24f11e4827a191c30d65c89d2c\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"localIdentifier\": \"bbccd430176d428caed54c99afc9589e\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"customer_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"state\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_customers\", \"title\": \"Top 10 Customers\"}, {\"content\": {\"buckets\": [{\"items\": [{\"measure\": {\"definition\": {\"measureDefinition\": {\"filters\": [], \"item\": {\"identifier\": {\"id\": \"revenue_top_10\", \"type\": \"metric\"}}}}, \"localIdentifier\": \"77dc71bbac92412bac5f94284a5919df\", \"title\": \"Revenue / Top 10\"}}], \"localIdentifier\": \"measures\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"localIdentifier\": \"781952e728204dcf923142910cc22ae2\"}}], \"localIdentifier\": \"view\"}, {\"items\": [{\"attribute\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"localIdentifier\": \"fe513cef1c6244a5ac21c5f49c56b108\"}}], \"localIdentifier\": \"stack\"}], \"filters\": [{\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"product_name\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}, {\"negativeAttributeFilter\": {\"displayForm\": {\"identifier\": {\"id\": \"products.category\", \"type\": \"label\"}}, \"notIn\": {\"values\": []}}}], \"properties\": {\"controls\": {\"legend\": {\"position\": \"bottom\"}}}, \"version\": \"2\", \"visualizationUrl\": \"local:bar\"}, \"id\": \"top_10_products\", \"title\": \"Top 10 Products\"}]}}, \"permissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"ANALYZE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"VIEW\"}], \"hierarchyPermissions\": [{\"assignee\": {\"id\": \"demo2\", \"type\": \"user\"}, \"name\": \"MANAGE\"}, {\"assignee\": {\"id\": \"demoGroup\", \"type\": \"userGroup\"}, \"name\": \"ANALYZE\"}], \"settings\": []}, {\"id\": \"demo_west\", \"name\": \"Demo West\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}, {\"id\": \"demo_west_california\", \"name\": \"Demo West California\", \"model\": {\"ldm\": {\"datasets\": [], \"dateInstances\": []}, \"analytics\": {\"analyticalDashboards\": [], \"dashboardPlugins\": [], \"filterContexts\": [], \"metrics\": [], \"visualizationObjects\": []}}, \"parent\": {\"id\": \"demo_west\", \"type\": \"workspace\"}, \"permissions\": [], \"hierarchyPermissions\": [], \"settings\": []}]}", - "headers": { - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 204, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "X-GDC-TRACE-ID": [ - "726f164fa43ab06f" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:01 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_analytics_model.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_analytics_model.json deleted file mode 100644 index d72c2d408..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_analytics_model.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1c29635b93ae94c1" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "551db202b429aad6" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "86796506814f3cac" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a574f7a39cd7bca3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:07 GMT" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "0080660a1992140d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "9b55068bc24d9ffb" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:08 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_ldm.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_ldm.json deleted file mode 100644 index 613bb3710..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_ldm.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8d5c5860bd0164b3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6fc7baa6ada7268d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "43ea791d384c2559" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bc39cce70a3f28e1" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d582f1b847aaaee7" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4e7f7e124bdd40e3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:05 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.json deleted file mode 100644 index 276c18bd4..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "07311403d8d89082" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Content-Type": [ - "application/json" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:39 GMT" - ], - "Expires": [ - "0" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "6058fdcf711668ce" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:39 GMT" - ], - "Expires": [ - "0" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "2f8c1667f8d57de1" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:39 GMT" - ], - "Expires": [ - "0" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces/demo", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "9e95fc4d97b25e9f" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Content-Type": [ - "application/json" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:39 GMT" - ], - "Expires": [ - "0" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "a50c4070cec81489" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:40 GMT" - ], - "Expires": [ - "0" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-GDC-TRACE-ID": [ - "004cdcdfd532de04" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Pragma": [ - "no-cache" - ], - "GoodData-Deployment": [ - "aio" - ], - "X-Frame-Options": [ - "DENY" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "Date": [ - "Wed, 24 Aug 2022 13:10:40 GMT" - ], - "Expires": [ - "0" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"1bbad755-ad5f-49f9-a12e-f84bde99798b\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.json deleted file mode 100644 index 6d7e7faa5..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "da1c0acfd077bd19" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaceDataFilters", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7764b497985df40e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "151b4450b5dfbcef" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "702293c7c911bd31" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "757d16c8b023214e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "143695644a477383" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:04 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.json deleted file mode 100644 index 50cea0435..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.json +++ /dev/null @@ -1,521 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "35c0b8c9aa52b071" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:58 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/layout/workspaces", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "56c48af609b80d89" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:59 GMT" - ] - }, - "body": { - "string": "{\"workspaceDataFilters\":[{\"columnName\":\"wdf__region\",\"id\":\"wdf__region\",\"title\":\"Customer region\",\"workspace\":{\"id\":\"demo\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"West\"],\"id\":\"region_west\",\"title\":\"Region West\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}]},{\"columnName\":\"wdf__state\",\"id\":\"wdf__state\",\"title\":\"Customer state\",\"workspace\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"workspaceDataFilterSettings\":[{\"filterValues\":[\"California\"],\"id\":\"region_west_california\",\"title\":\"Region West California\",\"workspace\":{\"id\":\"demo_west_california\",\"type\":\"workspace\"}}]}],\"workspaces\":[{\"hierarchyPermissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"MANAGE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"ANALYZE\"}],\"id\":\"demo\",\"model\":{\"analytics\":{\"analyticalDashboards\":[{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Campaign Spend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue per $ vs Spend by Campaign\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign\",\"title\":\"Campaign\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"campaign_name_filter\",\"type\":\"filterContext\"}},\"layout\":{\"sections\":[{\"items\":[{\"size\":{\"xl\":{\"gridWidth\":12}},\"type\":\"IDashboardLayoutItem\",\"widget\":{\"description\":\"\",\"drills\":[],\"ignoreDashboardFilters\":[],\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"properties\":{},\"title\":\"DHO simple\",\"type\":\"insight\"}}],\"type\":\"IDashboardLayoutSection\"}],\"type\":\"IDashboardLayout\"},\"plugins\":[{\"plugin\":{\"identifier\":{\"id\":\"dashboard_plugin_1\",\"type\":\"dashboardPlugin\"}},\"version\":\"2\"}],\"version\":\"2\"},\"id\":\"dashboard_plugin\",\"title\":\"Dashboard plugin\"},{\"content\":{\"filterContextRef\":{\"identifier\":{\"id\":\"region_filter\",\"type\":\"filterContext\"}},\"layout\":{\"type\":\"IDashboardLayout\",\"sections\":[{\"type\":\"IDashboardLayoutSection\",\"items\":[{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Top 10 Products\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"top_10_products\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Revenue Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"revenue_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Customers Trend\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"customers_trend\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Categories Pie Chart\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_categories_pie_chart\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Breakdown\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_breakdown\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":6}},\"widget\":{\"type\":\"insight\",\"title\":\"Product Saleability\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"product_saleability\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}},{\"type\":\"IDashboardLayoutItem\",\"size\":{\"xl\":{\"gridWidth\":12}},\"widget\":{\"type\":\"insight\",\"title\":\"% Revenue per Product by Customer and Category\",\"description\":\"\",\"ignoreDashboardFilters\":[],\"dateDataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"insight\":{\"identifier\":{\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"type\":\"visualizationObject\"}},\"drills\":[],\"properties\":{}}}]}]},\"version\":\"2\"},\"description\":\"\",\"id\":\"product_and_category\",\"title\":\"Product & Category\"}],\"dashboardPlugins\":[{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_1\",\"id\":\"dashboard_plugin_1\",\"title\":\"dashboard_plugin_1\"},{\"content\":{\"url\":\"https://www.example.com\",\"version\":\"2\"},\"description\":\"Testing record dashboard_plugin_2\",\"id\":\"dashboard_plugin_2\",\"title\":\"dashboard_plugin_2\"}],\"filterContexts\":[{\"content\":{\"filters\":[{\"dateFilter\":{\"from\":\"0\",\"to\":\"0\",\"granularity\":\"GDC.time.month\",\"type\":\"relative\"}},{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"14b0807447ef4bc28f43e4fc5c337d1d\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"campaign_name_filter\",\"title\":\"filterContext\"},{\"content\":{\"filters\":[{\"attributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"negativeSelection\":true,\"attributeElements\":{\"uris\":[]},\"localIdentifier\":\"2d5ef8df82444f6ba27b45f0990ee6af\",\"filterElementsBy\":[]}}],\"version\":\"2\"},\"description\":\"\",\"id\":\"region_filter\",\"title\":\"filterContext\"}],\"metrics\":[{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/customer_id},{attribute/order_line_id})\"},\"id\":\"amount_of_active_customers\",\"title\":\"# of Active Customers\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT COUNT({attribute/order_id})\"},\"id\":\"amount_of_orders\",\"title\":\"# of Orders\"},{\"content\":{\"format\":\"#,##0\",\"maql\":\"SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} BY {attribute/customer_id}) > 10000 \"},\"id\":\"amount_of_top_customers\",\"title\":\"# of Top Customers\"},{\"content\":{\"format\":\"#,##0.00\",\"maql\":\"SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"amount_of_valid_orders\",\"title\":\"# of Valid Orders\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/spend})\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT SUM({fact/price}*{fact/quantity})\"},\"id\":\"order_amount\",\"title\":\"Order Amount\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / {metric/total_revenue}\"},\"id\":\"percent_revenue\",\"title\":\"% Revenue\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_customers\",\"title\":\"% Revenue from Top 10 Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/customer_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_customers\",\"title\":\"% Revenue from Top 10% Customers\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_percent_products\",\"title\":\"% Revenue from Top 10% Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT\\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10} BY {attribute/product_id}) > 0)\\n /\\n {metric/revenue}\"},\"id\":\"percent_revenue_from_top_10_products\",\"title\":\"% Revenue from Top 10 Products\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, ALL OTHER)\"},\"id\":\"percent_revenue_in_category\",\"title\":\"% Revenue in Category\"},{\"content\":{\"format\":\"#,##0.0%\",\"maql\":\"SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id})\"},\"id\":\"percent_revenue_per_product\",\"title\":\"% Revenue per Product\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/order_amount} WHERE NOT ({label/order_status} IN (\\\"Returned\\\", \\\"Canceled\\\"))\"},\"description\":\"\",\"id\":\"revenue\",\"title\":\"Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Clothing\\\")\"},\"id\":\"revenue-clothing\",\"title\":\"Revenue (Clothing)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN ( \\\"Electronics\\\")\"},\"id\":\"revenue-electronic\",\"title\":\"Revenue (Electronic)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Home\\\")\"},\"id\":\"revenue-home\",\"title\":\"Revenue (Home)\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE {label/products.category} IN (\\\"Outdoor\\\")\"},\"id\":\"revenue-outdoor\",\"title\":\"Revenue (Outdoor)\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id})\"},\"id\":\"revenue_per_customer\",\"title\":\"Revenue per Customer\"},{\"content\":{\"format\":\"$#,##0.0\",\"maql\":\"SELECT {metric/revenue} / {metric/campaign_spend}\"},\"id\":\"revenue_per_dollar_spent\",\"title\":\"Revenue per Dollar Spent\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue})\"},\"id\":\"revenue_top_10\",\"title\":\"Revenue / Top 10\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue})\"},\"id\":\"revenue_top_10_percent\",\"title\":\"Revenue / Top 10%\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/revenue} BY ALL OTHER\"},\"id\":\"total_revenue\",\"title\":\"Total Revenue\"},{\"content\":{\"format\":\"$#,##0\",\"maql\":\"SELECT {metric/total_revenue} WITHOUT PARENT FILTER\"},\"id\":\"total_revenue-no_filters\",\"title\":\"Total Revenue (No Filters)\"}],\"visualizationObjects\":[{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"d319bcb2d8c04442a684e3b3cd063381\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"localIdentifier\":\"291c085e7df8420db84117ca49f59c49\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"d9dd143d647d4d148405a60ec2cf59bc\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"type\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_channels.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"campaign_spend\",\"title\":\"Campaign Spend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Active Customers\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2ba0b87b59ca41a4b1530e81a5c1d081\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_customer\",\"type\":\"metric\"}}}},\"localIdentifier\":\"ec0606894b9f4897b7beaf1550608928\",\"title\":\"Revenue per Customer\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"0de7d7f08af7480aa636857a26be72b6\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"colorMapping\":[{\"color\":{\"type\":\"guid\",\"value\":\"20\"},\"id\":\"2ba0b87b59ca41a4b1530e81a5c1d081\"},{\"color\":{\"type\":\"guid\",\"value\":\"4\"},\"id\":\"ec0606894b9f4897b7beaf1550608928\"}],\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"ec0606894b9f4897b7beaf1550608928\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"customers_trend\",\"title\":\"Customers Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_per_product\",\"type\":\"metric\"}}}},\"localIdentifier\":\"08d8346c1ce7438994b251991c0fbf65\",\"title\":\"% Revenue per Product\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"b2350c06688b4da9b3833ebcce65527f\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"7a4045fd00ac44579f52406df679435f\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"6a003ffd14994237ba64c4a02c488429\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"75ea396d0c8b48098e31dccf8b5801d3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"7a4045fd00ac44579f52406df679435f\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"percent_revenue_per_product_by_customer_and_category\",\"title\":\"% Revenue per Product by Customer and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_active_customers\",\"type\":\"metric\"}}}},\"localIdentifier\":\"1a14cdc1293c46e89a2e25d3e741d235\",\"title\":\"# of Active Customers\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"c1feca1864244ec2ace7a9b9d7fda231\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"localIdentifier\":\"530cddbd7ca04d039e73462d81ed44d5\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"region\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasuresToPercent\":true}},\"version\":\"2\",\"visualizationUrl\":\"local:area\"},\"id\":\"percentage_of_customers_by_region\",\"title\":\"Percentage of Customers by Region\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"590d332ef686468b8878ae41b23341c6\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"b166c71091864312a14c7ae8ff886ffe\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"e920a50e0bbb49788df0aac53634c1cd\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:treemap\"},\"id\":\"product_breakdown\",\"title\":\"Product Breakdown\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":true,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"162b857af49d45769bc12604a5c192b9\",\"title\":\"% Revenue\",\"format\":\"#,##0.00%\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:donut\"},\"id\":\"product_categories_pie_chart\",\"title\":\"Product Categories Pie Chart\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Previous Period\",\"definition\":{\"popMeasureDefinition\":{\"measureIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"popAttribute\":{\"identifier\":{\"id\":\"date.year\",\"type\":\"attribute\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe_pop\"}},{\"measure\":{\"alias\":\"This Period\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c82e025fa2db4afea9a600a424591dbe\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"c804ef5ba7944a5a9f360c86a9e95e9a\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-11,\"granularity\":\"GDC.time.month\",\"to\":0}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"},\"stackMeasures\":false,\"xaxis\":{\"name\":{\"visible\":false}},\"yaxis\":{\"name\":{\"visible\":false}}}},\"version\":\"2\",\"visualizationUrl\":\"local:column\"},\"id\":\"product_revenue_comparison-over_previous_period\",\"title\":\"Product Revenue Comparison (over previous period)\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"aeb5d51a162d4b59aba3bd6ddebcc780\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"94b3edd3a73c4a48a4d13bbe9442cc98\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"d2a991bdd123448eb2be73d79f1180c4\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"dataLabels\":{\"visible\":\"auto\"},\"grid\":{\"enabled\":true}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"product_saleability\",\"title\":\"Product Saleability\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"alias\":\"Items Sold\",\"definition\":{\"measureDefinition\":{\"aggregation\":\"sum\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"quantity\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"29486504dd0e4a36a18b0b2f792d3a46\",\"title\":\"Sum of Quantity\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"aggregation\":\"avg\",\"filters\":[],\"item\":{\"identifier\":{\"id\":\"price\",\"type\":\"fact\"}}}},\"format\":\"#,##0.00\",\"localIdentifier\":\"aa6391acccf1452f8011201aef9af492\",\"title\":\"Avg Price\"}},{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"percent_revenue_in_category\",\"type\":\"metric\"}}}},\"localIdentifier\":\"2cd39539d8da46c9883e63caa3ba7cc0\",\"title\":\"% Revenue in Category\"}},{\"measure\":{\"alias\":\"Total Revenue\",\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"9a0f08331c094c7facf2a0b4f418de0a\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\"}},{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"192668bfb6a74e9ab7b5d1ce7cb68ea3\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"sorts\":[{\"attributeSortItem\":{\"attributeIdentifier\":\"06bc6b3b9949466494e4f594c11f1bff\",\"direction\":\"asc\"}}],\"version\":\"2\",\"visualizationUrl\":\"local:table\"},\"id\":\"revenue_and_quantity_by_product_and_category\",\"title\":\"Revenue and Quantity by Product and Category\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"7df6c34387744d69b23ec92e1a5cf543\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"4bb4fc1986c546de9ad976e6ec23fed4\"}}],\"localIdentifier\":\"trend\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"34bddcb1cd024902a82396216b0fa9d8\"}}],\"localIdentifier\":\"segment\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"granularity\":\"GDC.time.year\"}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:line\"},\"id\":\"revenue_by_category_trend\",\"title\":\"Revenue by Category Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"4ae3401bdbba4938afe983df4ba04e1c\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"1c8ba72dbfc84ddd913bf81dc355c427\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"revenue_by_product\",\"title\":\"Revenue by Product\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"campaign_spend\",\"type\":\"metric\"}}}},\"localIdentifier\":\"13a50d811e474ac6808d8da7f4673b35\",\"title\":\"Campaign Spend\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_per_dollar_spent\",\"type\":\"metric\"}}}},\"localIdentifier\":\"a0f15e82e6334280a44dbedc7d086e7c\",\"title\":\"Revenue per Dollar Spent\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"localIdentifier\":\"1d9fa968bafb423eb29c938dfb1207ff\"}}],\"localIdentifier\":\"attribute\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"campaign_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"xaxis\":{\"min\":\"0\"},\"yaxis\":{\"min\":\"0\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:scatter\"},\"id\":\"revenue_per_usd_vs_spend_by_campaign\",\"title\":\"Revenue per $ vs Spend by Campaign\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue\",\"type\":\"metric\"}}}},\"localIdentifier\":\"60c854969a9c4c278ab596d99c222e92\",\"title\":\"Revenue\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"measure\":{\"alias\":\"Number of Orders\",\"definition\":{\"measureDefinition\":{\"computeRatio\":false,\"filters\":[],\"item\":{\"identifier\":{\"id\":\"amount_of_orders\",\"type\":\"metric\"}}}},\"localIdentifier\":\"c2fa7ef48cc54af99f8c280eb451e051\",\"title\":\"# of Orders\"}}],\"localIdentifier\":\"secondary_measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"date.month\",\"type\":\"label\"}},\"localIdentifier\":\"413ac374b65648fa96826ca01d47bdda\"}}],\"localIdentifier\":\"view\"}],\"filters\":[{\"relativeDateFilter\":{\"dataSet\":{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"}},\"from\":-3,\"granularity\":\"GDC.time.quarter\",\"to\":0}}],\"properties\":{\"controls\":{\"dualAxis\":true,\"legend\":{\"position\":\"bottom\"},\"primaryChartType\":\"column\",\"secondaryChartType\":\"line\",\"secondary_yaxis\":{\"measures\":[\"c2fa7ef48cc54af99f8c280eb451e051\"]},\"xaxis\":{\"name\":{\"visible\":false},\"rotation\":\"auto\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:combo2\"},\"id\":\"revenue_trend\",\"title\":\"Revenue Trend\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"3f127ccfe57a40399e23f9ae2a4ad810\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"localIdentifier\":\"f4e39e24f11e4827a191c30d65c89d2c\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"localIdentifier\":\"bbccd430176d428caed54c99afc9589e\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"customer_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"state\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_customers\",\"title\":\"Top 10 Customers\"},{\"content\":{\"buckets\":[{\"items\":[{\"measure\":{\"definition\":{\"measureDefinition\":{\"filters\":[],\"item\":{\"identifier\":{\"id\":\"revenue_top_10\",\"type\":\"metric\"}}}},\"localIdentifier\":\"77dc71bbac92412bac5f94284a5919df\",\"title\":\"Revenue / Top 10\"}}],\"localIdentifier\":\"measures\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"localIdentifier\":\"781952e728204dcf923142910cc22ae2\"}}],\"localIdentifier\":\"view\"},{\"items\":[{\"attribute\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"localIdentifier\":\"fe513cef1c6244a5ac21c5f49c56b108\"}}],\"localIdentifier\":\"stack\"}],\"filters\":[{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"product_name\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}},{\"negativeAttributeFilter\":{\"displayForm\":{\"identifier\":{\"id\":\"products.category\",\"type\":\"label\"}},\"notIn\":{\"values\":[]}}}],\"properties\":{\"controls\":{\"legend\":{\"position\":\"bottom\"}}},\"version\":\"2\",\"visualizationUrl\":\"local:bar\"},\"id\":\"top_10_products\",\"title\":\"Top 10 Products\"}]},\"ldm\":{\"datasets\":[{\"attributes\":[{\"description\":\"Campaign channel id\",\"id\":\"campaign_channel_id\",\"labels\":[],\"sourceColumn\":\"campaign_channel_id\",\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channel id\"},{\"description\":\"Category\",\"id\":\"campaign_channels.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Campaign channels\"],\"title\":\"Category\"},{\"description\":\"Type\",\"id\":\"type\",\"labels\":[],\"sourceColumn\":\"type\",\"tags\":[\"Campaign channels\"],\"title\":\"Type\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaign_channels\",\"type\":\"dataSource\"},\"description\":\"Campaign channels\",\"facts\":[{\"description\":\"Budget\",\"id\":\"budget\",\"sourceColumn\":\"budget\",\"tags\":[\"Campaign channels\"],\"title\":\"Budget\"},{\"description\":\"Spend\",\"id\":\"spend\",\"sourceColumn\":\"spend\",\"tags\":[\"Campaign channels\"],\"title\":\"Spend\"}],\"grain\":[{\"id\":\"campaign_channel_id\",\"type\":\"attribute\"}],\"id\":\"campaign_channels\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]}],\"tags\":[\"Campaign channels\"],\"title\":\"Campaign channels\"},{\"attributes\":[{\"description\":\"Campaign id\",\"id\":\"campaign_id\",\"labels\":[],\"sourceColumn\":\"campaign_id\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign id\"},{\"description\":\"Campaign name\",\"id\":\"campaign_name\",\"labels\":[],\"sourceColumn\":\"campaign_name\",\"tags\":[\"Campaigns\"],\"title\":\"Campaign name\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"campaigns\",\"type\":\"dataSource\"},\"description\":\"Campaigns\",\"facts\":[],\"grain\":[{\"id\":\"campaign_id\",\"type\":\"attribute\"}],\"id\":\"campaigns\",\"references\":[],\"tags\":[\"Campaigns\"],\"title\":\"Campaigns\"},{\"attributes\":[{\"description\":\"Customer id\",\"id\":\"customer_id\",\"labels\":[],\"sourceColumn\":\"customer_id\",\"tags\":[\"Customers\"],\"title\":\"Customer id\"},{\"description\":\"Customer name\",\"id\":\"customer_name\",\"labels\":[],\"sourceColumn\":\"customer_name\",\"tags\":[\"Customers\"],\"title\":\"Customer name\"},{\"description\":\"Region\",\"id\":\"region\",\"labels\":[],\"sourceColumn\":\"region\",\"tags\":[\"Customers\"],\"title\":\"Region\"},{\"description\":\"State\",\"id\":\"state\",\"labels\":[{\"description\":\"Location\",\"id\":\"geo__state__location\",\"sourceColumn\":\"geo__state__location\",\"tags\":[\"Customers\"],\"title\":\"Location\"}],\"sourceColumn\":\"state\",\"tags\":[\"Customers\"],\"title\":\"State\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"customers\",\"type\":\"dataSource\"},\"description\":\"Customers\",\"facts\":[],\"grain\":[{\"id\":\"customer_id\",\"type\":\"attribute\"}],\"id\":\"customers\",\"references\":[],\"tags\":[\"Customers\"],\"title\":\"Customers\"},{\"attributes\":[{\"description\":\"Order id\",\"id\":\"order_id\",\"labels\":[],\"sourceColumn\":\"order_id\",\"tags\":[\"Order lines\"],\"title\":\"Order id\"},{\"description\":\"Order line id\",\"id\":\"order_line_id\",\"labels\":[],\"sourceColumn\":\"order_line_id\",\"tags\":[\"Order lines\"],\"title\":\"Order line id\"},{\"description\":\"Order status\",\"id\":\"order_status\",\"labels\":[],\"sourceColumn\":\"order_status\",\"tags\":[\"Order lines\"],\"title\":\"Order status\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"order_lines\",\"type\":\"dataSource\"},\"description\":\"Order lines\",\"facts\":[{\"description\":\"Price\",\"id\":\"price\",\"sourceColumn\":\"price\",\"tags\":[\"Order lines\"],\"title\":\"Price\"},{\"description\":\"Quantity\",\"id\":\"quantity\",\"sourceColumn\":\"quantity\",\"tags\":[\"Order lines\"],\"title\":\"Quantity\"}],\"grain\":[{\"id\":\"order_line_id\",\"type\":\"attribute\"}],\"id\":\"order_lines\",\"references\":[{\"identifier\":{\"id\":\"campaigns\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"campaign_id\"]},{\"identifier\":{\"id\":\"customers\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"customer_id\"]},{\"identifier\":{\"id\":\"date\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"date\"]},{\"identifier\":{\"id\":\"products\",\"type\":\"dataset\"},\"multivalue\":false,\"sourceColumns\":[\"product_id\"]}],\"tags\":[\"Order lines\"],\"title\":\"Order lines\"},{\"attributes\":[{\"description\":\"Product id\",\"id\":\"product_id\",\"labels\":[],\"sourceColumn\":\"product_id\",\"tags\":[\"Products\"],\"title\":\"Product id\"},{\"description\":\"Product name\",\"id\":\"product_name\",\"labels\":[],\"sourceColumn\":\"product_name\",\"tags\":[\"Products\"],\"title\":\"Product name\"},{\"description\":\"Category\",\"id\":\"products.category\",\"labels\":[],\"sourceColumn\":\"category\",\"tags\":[\"Products\"],\"title\":\"Category\"}],\"dataSourceTableId\":{\"dataSourceId\":\"demo-test-ds\",\"id\":\"products\",\"type\":\"dataSource\"},\"description\":\"Products\",\"facts\":[],\"grain\":[{\"id\":\"product_id\",\"type\":\"attribute\"}],\"id\":\"products\",\"references\":[],\"tags\":[\"Products\"],\"title\":\"Products\"}],\"dateInstances\":[{\"description\":\"\",\"granularities\":[\"MINUTE\",\"HOUR\",\"DAY\",\"WEEK\",\"MONTH\",\"QUARTER\",\"YEAR\",\"MINUTE_OF_HOUR\",\"HOUR_OF_DAY\",\"DAY_OF_WEEK\",\"DAY_OF_MONTH\",\"DAY_OF_YEAR\",\"WEEK_OF_YEAR\",\"MONTH_OF_YEAR\",\"QUARTER_OF_YEAR\"],\"granularitiesFormatting\":{\"titleBase\":\"\",\"titlePattern\":\"%titleBase - %granularityTitle\"},\"id\":\"date\",\"tags\":[\"Date\"],\"title\":\"Date\"}]}},\"name\":\"Demo\",\"permissions\":[{\"assignee\":{\"id\":\"demo2\",\"type\":\"user\"},\"name\":\"ANALYZE\"},{\"assignee\":{\"id\":\"demoGroup\",\"type\":\"userGroup\"},\"name\":\"VIEW\"}],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West\",\"parent\":{\"id\":\"demo\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]},{\"hierarchyPermissions\":[],\"id\":\"demo_west_california\",\"model\":{\"analytics\":{\"analyticalDashboards\":[],\"dashboardPlugins\":[],\"filterContexts\":[],\"metrics\":[],\"visualizationObjects\":[]},\"ldm\":{\"datasets\":[],\"dateInstances\":[]}},\"name\":\"Demo West California\",\"parent\":{\"id\":\"demo_west\",\"type\":\"workspace\"},\"permissions\":[],\"settings\":[]}]}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bfc54f9dea53051e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:59 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a498b47a57c20963" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:59 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/organization", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 302, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "39c231940fed97d3" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Location": [ - "/api/v1/entities/admin/organizations/default" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:59 GMT" - ] - }, - "body": { - "string": "" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/admin/organizations/default", - "body": null, - "headers": { - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "8f8fa002d54629fd" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:08:59 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Default Organization\",\"hostname\":\"localhost\",\"oauthClientId\":\"d3155b41-9489-4865-b560-11875c6d5a29\"},\"id\":\"default\",\"type\":\"organization\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/admin/organizations/default\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.json deleted file mode 100644 index fd48140d2..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.json +++ /dev/null @@ -1,445 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "60f7f3282d307be4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "a6bb278e4fe9be10" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "713534993ee70e19" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "03e644ce97fece56" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "89d1461a25490980" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.json deleted file mode 100644 index 54a9a00f1..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.json +++ /dev/null @@ -1,891 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f893e4f2897ff924" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f3784279a5788fc9" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "d50dda4f5472a0d4" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west", - "body": "{\"data\": {\"id\": \"demo_west\", \"type\": \"workspace\", \"attributes\": {\"name\": \"Test\"}, \"relationships\": {\"parent\": {\"data\": {\"id\": \"demo\", \"type\": \"workspace\"}}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4540ce3b900eb774" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Test\"},\"id\":\"demo_west\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "dbe46056377ad763" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Test\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Test\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "4814f1c379bb75ae" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Test\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "04b3e04e9235a03b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Test\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - }, - { - "request": { - "method": "PUT", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west", - "body": "{\"data\": {\"id\": \"demo_west\", \"type\": \"workspace\", \"attributes\": {\"name\": \"Demo West\"}, \"relationships\": {\"parent\": {\"data\": {\"id\": \"demo\", \"type\": \"workspace\"}}}}}", - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "7277066fac533f51" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"type\":\"workspace\"},\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "6df9f797dc2c9aae" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "b0520716a75de944" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:02 GMT" - ] - }, - "body": { - "string": "{\"data\":{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.json b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.json deleted file mode 100644 index 52c95c405..000000000 --- a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500", - "body": null, - "headers": { - "Accept": [ - "application/vnd.gooddata.api+json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "bccf572053e849bf" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/vnd.gooddata.api+json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:03 GMT" - ] - }, - "body": { - "string": "{\"data\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo\",\"type\":\"workspace\"}}},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West California\"},\"id\":\"demo_west_california\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west_california\"},\"relationships\":{\"parent\":{\"data\":{\"id\":\"demo_west\",\"type\":\"workspace\"}}},\"type\":\"workspace\"}],\"included\":[{\"attributes\":{\"name\":\"Demo\"},\"id\":\"demo\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo\"},\"type\":\"workspace\"},{\"attributes\":{\"name\":\"Demo West\"},\"id\":\"demo_west\",\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces/demo_west\"},\"type\":\"workspace\"}],\"links\":{\"self\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500\",\"next\":\"http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500\"}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/catalog/test_catalog_data_source.py b/gooddata-sdk/tests/catalog/test_catalog_data_source.py index 0f4100d84..5c393990c 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_data_source.py +++ b/gooddata-sdk/tests/catalog/test_catalog_data_source.py @@ -8,7 +8,7 @@ from unittest.mock import MagicMock import pytest -import vcr +from tests_support.vcrpy_utils import get_vcr import gooddata_metadata_client.apis as metadata_apis from gooddata_sdk import ( @@ -31,15 +31,21 @@ TokenCredentialsFromFile, VerticaAttributes, ) -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() + _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" / "data_sources" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) + +@gd_vcr.use_cassette(str(_fixtures_dir / "test.yaml")) +def test_optimization(test_config): + sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) + sdk.catalog_workspace_content.get_metrics_catalog(test_config["workspace"]) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_register_upload_notification.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_register_upload_notification.yaml")) def test_register_upload_notification(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) metrics = sdk.catalog_workspace_content.get_metrics_catalog(test_config["workspace"]) @@ -53,7 +59,7 @@ def test_register_upload_notification(test_config): assert exec_response_1.result_id != exec_response_2.result_id -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_generate_logical_model.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_generate_logical_model.yaml")) def test_generate_logical_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) declarative_model = sdk.catalog_workspace_content.get_declarative_ldm(test_config["workspace"]) @@ -67,7 +73,7 @@ def test_generate_logical_model(test_config): assert len(declarative_model.ldm.date_instances) == len(generated_declarative_model.ldm.date_instances) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_data_sources_list.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_data_sources_list.yaml")) def test_catalog_list_data_sources(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_sources = sdk.catalog_data_source.list_data_sources() @@ -101,7 +107,7 @@ def _get_data_source(data_sources: List[CatalogDataSource], data_source_id: str) return None -@gd_vcr.use_cassette(str(_fixtures_dir / "test_create_update.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "test_create_update.yaml")) def test_catalog_create_update_list_data_source(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) try: @@ -152,7 +158,7 @@ def _create_delete_ds(sdk, data_source: CatalogDataSource): sdk.catalog_data_source.delete_data_source(data_source.id) -@gd_vcr.use_cassette(str(_fixtures_dir / "redshift.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "redshift.yaml")) def test_catalog_create_data_source_redshift_spec(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) _create_delete_ds( @@ -172,7 +178,7 @@ def test_catalog_create_data_source_redshift_spec(test_config): ) -@gd_vcr.use_cassette(str(_fixtures_dir / "vertica.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "vertica.yaml")) def test_catalog_create_data_source_vertica_spec(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) _create_delete_ds( @@ -192,7 +198,7 @@ def test_catalog_create_data_source_vertica_spec(test_config): ) -@gd_vcr.use_cassette(str(_fixtures_dir / "snowflake.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "snowflake.yaml")) def test_catalog_create_data_source_snowflake_spec(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) _create_delete_ds( @@ -213,7 +219,7 @@ def test_catalog_create_data_source_snowflake_spec(test_config): ) -@gd_vcr.use_cassette(str(_fixtures_dir / "bigquery.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "bigquery.yaml")) def test_catalog_create_data_source_bigquery_spec(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) with mock.patch("builtins.open", mock.mock_open(read_data=b"bigquery_service_account_json")): @@ -235,7 +241,7 @@ def test_catalog_create_data_source_bigquery_spec(test_config): # # Here we test default interface without DB specific custom attributes (plain url, data_source_type specified # -@gd_vcr.use_cassette(str(_fixtures_dir / "dremio.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "dremio.yaml")) def test_catalog_create_data_source_dremio_spec(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) _create_delete_ds( @@ -256,7 +262,7 @@ def test_catalog_create_data_source_dremio_spec(test_config): ) -@gd_vcr.use_cassette(str(_fixtures_dir / "patch.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "patch.yaml")) def test_catalog_patch_data_source(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) try: @@ -276,7 +282,7 @@ def test_catalog_patch_data_source(test_config): sdk.catalog_data_source.delete_data_source("test") -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_data_source_tables.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_data_source_tables.yaml")) def test_catalog_data_source_table(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_tables = sdk.catalog_data_source.list_data_source_tables(test_config["data_source"]) @@ -286,7 +292,7 @@ def test_catalog_data_source_table(test_config): assert len(order_lines.attributes.columns) == 11 -@gd_vcr.use_cassette(str(_fixtures_dir / "declarative_data_sources.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "declarative_data_sources.yaml")) def test_catalog_declarative_data_sources(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -301,7 +307,7 @@ def test_catalog_declarative_data_sources(test_config): assert data_sources_o.to_dict(camel_case=True) == layout_api.get_data_sources_layout().to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_declarative_data_sources.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_declarative_data_sources.yaml")) def test_delete_declarative_data_sources(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) credentials_path = _current_dir / "load" / "data_source_credentials" / "data_sources_credentials.yaml" @@ -318,7 +324,7 @@ def test_delete_declarative_data_sources(test_config): sdk.catalog_data_source.put_declarative_data_sources(data_sources_o, credentials_path) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_data_sources.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_data_sources.yaml")) def test_store_declarative_data_sources(test_config): store_folder = _current_dir / "store" sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -331,7 +337,7 @@ def test_store_declarative_data_sources(test_config): assert data_sources_e == data_sources_o -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_data_sources.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_data_sources.yaml")) def test_load_and_put_declarative_data_sources(test_config): load_folder = _current_dir / "load" sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -366,7 +372,7 @@ def test_load_and_put_declarative_data_sources(test_config): sdk2.catalog_data_source.put_declarative_data_sources(data_sources_o, credentials_path) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_data_sources_connection.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_data_sources_connection.yaml")) def test_put_declarative_data_sources_connection(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_data_sources.json" @@ -385,7 +391,7 @@ def test_put_declarative_data_sources_connection(test_config): sdk.catalog_data_source.put_declarative_data_sources(data_sources_o, credentials_path) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_data_sources.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_data_sources.yaml")) def test_put_declarative_data_sources(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_data_sources.json" @@ -404,7 +410,7 @@ def test_put_declarative_data_sources(test_config): sdk.catalog_data_source.put_declarative_data_sources(data_sources_o, credentials_path) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_declarative_data_sources.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_declarative_data_sources.yaml")) def test_declarative_data_sources(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) credentials_path = _current_dir / "load" / "data_source_credentials" / "data_sources_credentials.yaml" @@ -417,14 +423,14 @@ def test_declarative_data_sources(test_config): sdk.catalog_data_source.test_data_sources_connection(data_sources_e, credentials_path) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_get_declarative_pdm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_get_declarative_pdm.yaml")) def test_get_declarative_pdm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) pdm = sdk.catalog_data_source.get_declarative_pdm(test_config["data_source"]) assert len(pdm.tables) == 5 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_put_declarative_pdm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_put_declarative_pdm.yaml")) def test_put_declarative_pdm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_id = test_config["data_source"] @@ -440,7 +446,7 @@ def test_put_declarative_pdm(test_config): sdk.catalog_data_source.put_declarative_pdm(data_source_id, pdm) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_scan_model.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_scan_model.yaml")) def test_scan_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_id = test_config["data_source"] @@ -459,7 +465,7 @@ def test_scan_model(test_config): assert len(scan_result.warnings) == 0 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_scan_model_with_table_prefix.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_scan_model_with_table_prefix.yaml")) def test_scan_mode_with_table_prefix(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_id = test_config["data_source"] @@ -470,7 +476,7 @@ def test_scan_mode_with_table_prefix(test_config): assert scan_result.pdm.tables[0].name_prefix == "order" -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_scan_and_put_declarative_pdm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_test_scan_and_put_declarative_pdm.yaml")) def test_scan_and_put_declarative_pdm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_id = test_config["data_source"] @@ -489,7 +495,7 @@ def test_scan_and_put_declarative_pdm(test_config): assert len(pdm.tables) == 5 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_and_load_and_put_declarative_pdm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_and_load_and_put_declarative_pdm.yaml")) def test_store_and_load_and_put_declarative_pdm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_id = test_config["data_source"] @@ -508,7 +514,7 @@ def test_store_and_load_and_put_declarative_pdm(test_config): assert pdm.to_dict(camel_case=True) == pdm_loaded.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_scan_schemata.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_scan_schemata.yaml")) def test_scan_schemata(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) data_source_id = test_config["data_source"] diff --git a/gooddata-sdk/tests/catalog/test_catalog_organization.py b/gooddata-sdk/tests/catalog/test_catalog_organization.py index 3f2fa669c..e58c81036 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_organization.py +++ b/gooddata-sdk/tests/catalog/test_catalog_organization.py @@ -3,16 +3,15 @@ from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_sdk import CatalogOrganization, GoodDataSdk -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" / "organization" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - def _default_organization_check(organization: CatalogOrganization): assert organization.id == "default" @@ -20,14 +19,14 @@ def _default_organization_check(organization: CatalogOrganization): assert organization.attributes.hostname == "localhost" -@gd_vcr.use_cassette(str(_fixtures_dir / "organization.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "organization.yaml")) def test_get_organization(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) organization = sdk.catalog_organization.get_organization() _default_organization_check(organization) -@gd_vcr.use_cassette(str(_fixtures_dir / "update_oidc_settings.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "update_oidc_settings.yaml")) def test_update_oidc_settings(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -59,7 +58,7 @@ def test_update_oidc_settings(test_config): _default_organization_check(revert_organization) -@gd_vcr.use_cassette(str(_fixtures_dir / "update_name.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "update_name.yaml")) def test_update_name(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) organization = sdk.catalog_organization.get_organization() diff --git a/gooddata-sdk/tests/catalog/test_catalog_permission.py b/gooddata-sdk/tests/catalog/test_catalog_permission.py index b0b0ea4b1..0a476a784 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_permission.py +++ b/gooddata-sdk/tests/catalog/test_catalog_permission.py @@ -5,7 +5,7 @@ from pathlib import Path import pytest -import vcr +from tests_support.vcrpy_utils import get_vcr import gooddata_metadata_client.apis as metadata_apis from gooddata_sdk import ( @@ -17,13 +17,12 @@ GoodDataApiClient, GoodDataSdk, ) -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" / "permissions" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - def _empty_permissions(sdk: GoodDataSdk, workspace_id: str) -> None: empty_permissions_e = CatalogDeclarativeWorkspacePermissions(permissions=[], hierarchy_permissions=[]) @@ -76,7 +75,7 @@ def test_data_source_permission(test_config): _validation_helper(CatalogDeclarativeDataSourcePermission, "name") -@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_permissions.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_permissions.yaml")) def test_get_declarative_permissions(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -88,7 +87,7 @@ def test_get_declarative_permissions(test_config): assert catalog_declarative_permissions.to_dict(camel_case=True) == declarative_permissions.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_permissions.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_permissions.yaml")) def test_put_declarative_permissions(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) expected_json_path = _current_dir / "expected" / "declarative_workspace_permissions.json" diff --git a/gooddata-sdk/tests/catalog/test_catalog_user_service.py b/gooddata-sdk/tests/catalog/test_catalog_user_service.py index 517bba6ef..133127f05 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_user_service.py +++ b/gooddata-sdk/tests/catalog/test_catalog_user_service.py @@ -5,7 +5,7 @@ from pathlib import Path from typing import List -import vcr +from tests_support.vcrpy_utils import get_vcr import gooddata_metadata_client.apis as metadata_apis from gooddata_sdk import ( @@ -19,18 +19,17 @@ GoodDataSdk, ) from gooddata_sdk.utils import create_directory -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" / "users" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - # ENTITY USERS -@gd_vcr.use_cassette(str(_fixtures_dir / "list_users.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "list_users.yaml")) def test_list_users(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) users = sdk.catalog_user.list_users() @@ -38,7 +37,7 @@ def test_list_users(test_config): assert set(user.id for user in users) == {"demo2", "admin", "demo"} -@gd_vcr.use_cassette(str(_fixtures_dir / "get_user.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "get_user.yaml")) def test_get_user(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user = sdk.catalog_user.get_user(test_config["test_user"]) @@ -46,7 +45,7 @@ def test_get_user(test_config): assert user.get_user_groups == [test_config["test_user_group"]] -@gd_vcr.use_cassette(str(_fixtures_dir / "create_delete_user.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "create_delete_user.yaml")) def test_create_delete_user(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_id = test_config["test_new_user"] @@ -67,7 +66,7 @@ def test_create_delete_user(test_config): assert len(sdk.catalog_user.list_users()) == 3 -@gd_vcr.use_cassette(str(_fixtures_dir / "update_user.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "update_user.yaml")) def test_update_user(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_id = test_config["test_user"] @@ -91,7 +90,7 @@ def test_update_user(test_config): # ENTITY USER GROUPS -@gd_vcr.use_cassette(str(_fixtures_dir / "list_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "list_user_groups.yaml")) def test_list_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_groups = sdk.catalog_user.list_user_groups() @@ -104,14 +103,14 @@ def test_list_user_groups(test_config): } -@gd_vcr.use_cassette(str(_fixtures_dir / "get_user_group.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "get_user_group.yaml")) def test_get_user_group(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_group = sdk.catalog_user.get_user_group(test_config["test_user_group"]) assert user_group.id == test_config["test_user_group"] -@gd_vcr.use_cassette(str(_fixtures_dir / "create_delete_user_group.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "create_delete_user_group.yaml")) def test_create_delete_user_group(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_group_id = test_config["test_new_user_group"] @@ -130,7 +129,7 @@ def test_create_delete_user_group(test_config): assert len(sdk.catalog_user.list_user_groups()) == 4 -@gd_vcr.use_cassette(str(_fixtures_dir / "update_user_group.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "update_user_group.yaml")) def test_update_user_group(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_group_id = test_config["test_user_group"] @@ -153,7 +152,7 @@ def test_update_user_group(test_config): # DECLARATIVE USERS -@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_users.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_users.yaml")) def test_get_declarative_users(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -165,7 +164,7 @@ def test_get_declarative_users(test_config): assert users.to_dict(camel_case=True) == layout_api.get_users_layout().to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "store_declarative_users.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "store_declarative_users.yaml")) def test_store_declarative_users(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" @@ -181,7 +180,7 @@ def test_store_declarative_users(test_config): assert users_e.to_dict(camel_case=True) == users_o.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_users.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_users.yaml")) def test_put_declarative_users(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) users_e = sdk.catalog_user.get_declarative_users() @@ -198,7 +197,7 @@ def test_put_declarative_users(test_config): sdk.catalog_user.put_declarative_users(users_e) -@gd_vcr.use_cassette(str(_fixtures_dir / "load_and_put_declarative_users.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "load_and_put_declarative_users.yaml")) def test_load_and_put_declarative_users(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" @@ -219,7 +218,7 @@ def test_load_and_put_declarative_users(test_config): # DECLARATIVE USER GROUPS -@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_user_groups.yaml")) def test_get_declarative_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -231,7 +230,7 @@ def test_get_declarative_user_groups(test_config): assert user_groups.to_dict(camel_case=True) == layout_api.get_user_groups_layout().to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "store_declarative_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "store_declarative_user_groups.yaml")) def test_store_declarative_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" @@ -247,7 +246,7 @@ def test_store_declarative_user_groups(test_config): assert user_groups_e.to_dict(camel_case=True) == user_groups_o.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_user_groups.yaml")) def test_put_declarative_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) user_groups_path = _current_dir / "expected" / "declarative_user_groups.json" @@ -274,7 +273,7 @@ def test_put_declarative_user_groups(test_config): sdk.catalog_user.put_declarative_users(users_e) -@gd_vcr.use_cassette(str(_fixtures_dir / "load_and_put_declarative_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "load_and_put_declarative_user_groups.yaml")) def test_load_and_put_declarative_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" @@ -303,7 +302,7 @@ def test_load_and_put_declarative_user_groups(test_config): # DECLARATIVE USERS AND USER GROUPS -@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_users_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "get_declarative_users_user_groups.yaml")) def test_get_declarative_users_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -317,7 +316,7 @@ def test_get_declarative_users_user_groups(test_config): ) -@gd_vcr.use_cassette(str(_fixtures_dir / "store_declarative_users_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "store_declarative_users_user_groups.yaml")) def test_store_declarative_users_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" @@ -333,7 +332,7 @@ def test_store_declarative_users_user_groups(test_config): assert users_user_groups_e.to_dict(camel_case=True) == users_user_groups_o.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_users_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "put_declarative_users_user_groups.yaml")) def test_put_declarative_users_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) users_user_groups_e = sdk.catalog_user.get_declarative_users_user_groups() @@ -351,7 +350,7 @@ def test_put_declarative_users_user_groups(test_config): sdk.catalog_user.put_declarative_users_user_groups(users_user_groups_e) -@gd_vcr.use_cassette(str(_fixtures_dir / "load_and_put_declarative_users_user_groups.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "load_and_put_declarative_users_user_groups.yaml")) def test_load_and_put_declarative_users_user_groups(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace.py b/gooddata-sdk/tests/catalog/test_catalog_workspace.py index e9b9fc40a..276d35a10 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_workspace.py +++ b/gooddata-sdk/tests/catalog/test_catalog_workspace.py @@ -4,7 +4,7 @@ import json from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr import gooddata_metadata_client.apis as metadata_apis from gooddata_sdk import ( @@ -16,13 +16,12 @@ GoodDataSdk, ) from gooddata_sdk.utils import create_directory -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" / "workspaces" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - def _empty_workspaces(sdk: GoodDataSdk) -> None: empty_workspaces_e = CatalogDeclarativeWorkspaces.from_api({"workspaces": [], "workspace_data_filters": []}) @@ -57,7 +56,7 @@ def _empty_workspace_data_filters(sdk: GoodDataSdk) -> None: ) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_workspaces.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_workspaces.yaml")) def test_load_and_put_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" @@ -76,7 +75,7 @@ def test_load_and_put_declarative_workspaces(test_config): sdk.catalog_workspace.put_declarative_workspaces(workspaces_e) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_workspaces.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_workspaces.yaml")) def test_store_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" @@ -90,7 +89,7 @@ def test_store_declarative_workspaces(test_config): assert workspaces_e.to_dict(camel_case=True) == workspaces_o.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_workspaces.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_workspaces.yaml")) def test_put_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspaces.json" @@ -110,7 +109,7 @@ def test_put_declarative_workspaces(test_config): sdk.catalog_workspace.put_declarative_workspaces(workspaces_o) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspaces_snake_case.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspaces_snake_case.yaml")) def test_get_declarative_workspaces_snake_case(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspaces_snake_case.json" @@ -125,7 +124,7 @@ def test_get_declarative_workspaces_snake_case(test_config): assert workspaces_o.to_dict(camel_case=False) == data -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspaces.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspaces.yaml")) def test_get_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspaces.json" @@ -140,7 +139,7 @@ def test_get_declarative_workspaces(test_config): assert workspaces_o.to_api().to_dict(camel_case=True) == data -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_declarative_workspaces.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_declarative_workspaces.yaml")) def test_declarative_workspaces(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -154,7 +153,7 @@ def test_declarative_workspaces(test_config): assert workspaces_o.to_dict(camel_case=True) == layout_api.get_workspaces_layout().to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_update_workspace_invalid.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_update_workspace_invalid.yaml")) def test_update_workspace_invalid(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -178,7 +177,7 @@ def test_update_workspace_invalid(test_config): assert workspace == workspace_o -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_update_workspace_valid.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_update_workspace_valid.yaml")) def test_update_workspace_valid(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -210,7 +209,7 @@ def test_update_workspace_valid(test_config): assert workspace_o == workspace -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_workspace.yaml")) def test_delete_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) workspace_id = "demo_west_california" @@ -233,7 +232,7 @@ def test_delete_workspace(test_config): assert workspace_id in [w.id for w in workspaces] -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_non_existing_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_non_existing_workspace.yaml")) def test_delete_non_existing_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) workspace_id = "non_existing_workspace" @@ -250,7 +249,7 @@ def test_delete_non_existing_workspace(test_config): assert len(workspaces) == 3 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_parent_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_delete_parent_workspace.yaml")) def test_delete_parent_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) workspaces = sdk.catalog_workspace.list_workspaces() @@ -264,7 +263,7 @@ def test_delete_parent_workspace(test_config): assert len(workspaces) == 3 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_create_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_create_workspace.yaml")) def test_create_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) workspace_id = "test" @@ -291,7 +290,7 @@ def test_create_workspace(test_config): assert workspace_id not in [w.id for w in workspaces] -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_workspace.yaml")) def test_get_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -308,7 +307,7 @@ def test_get_workspace(test_config): assert workspace_with_parent.parent_id == test_config["workspace"] -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_workspace_list.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_workspace_list.yaml")) def test_workspace_list(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) ids = ["demo", "demo_west", "demo_west_california"] @@ -331,7 +330,7 @@ def test_workspace_list(test_config): assert parents == workspaces_parent_l -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspace_data_filters.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspace_data_filters.yaml")) def test_get_declarative_workspace_data_filters(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -351,7 +350,7 @@ def test_get_declarative_workspace_data_filters(test_config): ) == layout_api.get_workspace_data_filters_layout().to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_workspace_data_filters.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_workspace_data_filters.yaml")) def test_store_declarative_workspace_data_filters(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" @@ -367,7 +366,7 @@ def test_store_declarative_workspace_data_filters(test_config): ) == declarative_workspace_data_filters_o.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_workspace_data_filters.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_workspace_data_filters.yaml")) def test_load_and_put_declarative_workspace_data_filters(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" @@ -388,7 +387,7 @@ def test_load_and_put_declarative_workspace_data_filters(test_config): sdk.catalog_workspace.put_declarative_workspace_data_filters(workspace_data_filters_o) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_workspace_data_filters.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_workspace_data_filters.yaml")) def test_put_declarative_workspace_data_filters(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_workspace_data_filters.json" @@ -410,7 +409,7 @@ def test_put_declarative_workspace_data_filters(test_config): sdk.catalog_workspace.put_declarative_workspace_data_filters(declarative_workspace_data_filters_o) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_workspace.yaml")) def test_get_declarative_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) client = GoodDataApiClient(host=test_config["host"], token=test_config["token"]) @@ -430,7 +429,7 @@ def test_get_declarative_workspace(test_config): ).to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_workspace.yaml")) def test_put_declarative_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) @@ -452,7 +451,7 @@ def test_put_declarative_workspace(test_config): assert len(workspaces) == 3 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_workspace.yaml")) def test_store_declarative_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" @@ -468,12 +467,12 @@ def test_store_declarative_workspace(test_config): assert workspaces_e.to_dict(camel_case=True) == workspaces_o.to_dict(camel_case=True) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_workspace.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_workspace.yaml")) def test_load_and_put_declarative_workspace(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" expected_json_path = _current_dir / "expected" / "declarative_workspace.json" - workspace_e = sdk.catalog_workspace.get_declarative_workspace_data_filters() + workspace_e = sdk.catalog_workspace.get_declarative_workspace(workspace_id=test_config["workspace"]) try: _empty_workspace(sdk, workspace_id=test_config["workspace"]) @@ -481,7 +480,7 @@ def test_load_and_put_declarative_workspace(test_config): sdk.catalog_workspace.load_and_put_declarative_workspace( workspace_id=test_config["workspace"], layout_root_path=path ) - workspace_o = sdk.catalog_workspace.get_declarative_workspace_data_filters() + workspace_o = sdk.catalog_workspace.get_declarative_workspace(workspace_id=test_config["workspace"]) assert workspace_e == workspace_o assert workspace_e.to_dict(camel_case=True) == workspace_o.to_dict(camel_case=True) finally: diff --git a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py b/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py index f854b8f83..bb6768af6 100644 --- a/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py +++ b/gooddata-sdk/tests/catalog/test_catalog_workspace_content.py @@ -5,7 +5,7 @@ from pathlib import Path from unittest.mock import MagicMock -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_sdk import ( CatalogDeclarativeAnalytics, @@ -17,12 +17,11 @@ GoodDataSdk, ) from gooddata_sdk.utils import create_directory -from tests import VCR_MATCH_ON -_current_dir = Path(__file__).parent.absolute() -_fixtures_dir = _current_dir / "fixtures" / "workspaces" +gd_vcr = get_vcr() -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) +_current_dir = Path(__file__).parent.absolute() +_fixtures_dir = _current_dir / "fixtures" / "workspace_content" def _set_up_workspace_ldm(sdk: GoodDataSdk, workspace_id: str, identifier: str) -> None: @@ -33,35 +32,35 @@ def _set_up_workspace_ldm(sdk: GoodDataSdk, workspace_id: str, identifier: str) sdk.catalog_workspace_content.put_declarative_ldm(identifier, ldm_o) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_labels.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_labels.yaml")) def test_catalog_list_labels(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) labels_list = sdk.catalog_workspace_content.get_labels_catalog(test_config["workspace"]) assert len(labels_list) == 31 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_facts.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_facts.yaml")) def test_catalog_list_facts(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) facts_list = sdk.catalog_workspace_content.get_facts_catalog(test_config["workspace"]) assert len(facts_list) == 4 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_attributes.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_attributes.yaml")) def test_catalog_list_attributes(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) attributes_list = sdk.catalog_workspace_content.get_attributes_catalog(test_config["workspace"]) assert len(attributes_list) == 30 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_metrics.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_list_metrics.yaml")) def test_catalog_list_metrics(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) metrics_list = sdk.catalog_workspace_content.get_metrics_catalog(test_config["workspace"]) assert len(metrics_list) == 24 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_ldm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_ldm.yaml")) def test_store_declarative_ldm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" / "workspace_content" @@ -76,7 +75,7 @@ def test_store_declarative_ldm(test_config): assert ldm_e.to_api().to_dict() == ldm_o.to_api().to_dict() -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_ldm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_ldm.yaml")) def test_load_and_put_declarative_ldm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" / "workspace_content" @@ -96,7 +95,7 @@ def test_load_and_put_declarative_ldm(test_config): sdk.catalog_workspace.delete_workspace(identifier) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_modify_ds_and_put_declarative_ldm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_modify_ds_and_put_declarative_ldm.yaml")) def test_load_and_modify_ds_and_put_declarative_ldm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) workspace_id = test_config["workspace"] @@ -131,7 +130,7 @@ def test_load_and_modify_ds_and_put_declarative_ldm(test_config): sdk.catalog_workspace.delete_workspace(identifier) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_analytics_model.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_store_declarative_analytics_model.yaml")) def test_store_declarative_analytics_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "store" / "workspace_content" @@ -146,7 +145,7 @@ def test_store_declarative_analytics_model(test_config): assert analytics_model_e.to_api().to_dict() == analytics_model_o.to_api().to_dict() -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_analytics_model.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_load_and_put_declarative_analytics_model.yaml")) def test_load_and_put_declarative_analytics_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "load" / "workspace_content" @@ -164,7 +163,7 @@ def test_load_and_put_declarative_analytics_model(test_config): sdk.catalog_workspace.delete_workspace(identifier) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_analytics_model.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_analytics_model.yaml")) def test_put_declarative_analytics_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) identifier = test_put_declarative_analytics_model.__name__ @@ -180,7 +179,7 @@ def test_put_declarative_analytics_model(test_config): sdk.catalog_workspace.delete_workspace(identifier) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_ldm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_put_declarative_ldm.yaml")) def test_put_declarative_ldm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) identifier = test_put_declarative_ldm.__name__ @@ -197,7 +196,7 @@ def test_put_declarative_ldm(test_config): sdk.catalog_workspace.delete_workspace(identifier) -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_analytics_model.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_analytics_model.yaml")) def test_get_declarative_analytics_model(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_analytics_model.json" @@ -212,7 +211,7 @@ def test_get_declarative_analytics_model(test_config): assert analytics_model_o.to_api().to_dict(camel_case=True) == data -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_ldm.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_declarative_ldm.yaml")) def test_get_declarative_ldm(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) path = _current_dir / "expected" / "declarative_ldm.json" @@ -227,7 +226,7 @@ def test_get_declarative_ldm(test_config): assert ldm_o.to_api().to_dict(camel_case=True) == data -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog.yaml")) def test_catalog_load(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) catalog = sdk.catalog_workspace_content.get_full_catalog(test_config["workspace"]) @@ -243,7 +242,7 @@ def test_catalog_load(test_config): assert catalog.get_dataset("products") is not None -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_availability.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_catalog_availability.yaml")) def test_catalog_availability(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) catalog = sdk.catalog_workspace_content.get_full_catalog(test_config["workspace"]) @@ -256,7 +255,7 @@ def test_catalog_availability(test_config): assert len(filtered_catalog.datasets) == 3 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_dependent_entities_graph.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_dependent_entities_graph.yaml")) def test_get_dependent_entities_graph(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) response = sdk.catalog_workspace_content.get_dependent_entities_graph(workspace_id=test_config["workspace"]) @@ -265,7 +264,7 @@ def test_get_dependent_entities_graph(test_config): assert len(response.graph.nodes) == 117 -@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_dependent_entities_graph_from_entry_points.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "demo_get_dependent_entities_graph_from_entry_points.yaml")) def test_get_dependent_entities_graph_from_entry_points(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) dependent_entities_request = CatalogDependentEntitiesRequest( diff --git a/gooddata-sdk/tests/support/fixtures/is_available.json b/gooddata-sdk/tests/support/fixtures/is_available.json deleted file mode 100644 index 4936ce3f0..000000000 --- a/gooddata-sdk/tests/support/fixtures/is_available.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/options", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "df4e7f39a5efcc8e" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:12 GMT" - ] - }, - "body": { - "string": "{\"options\":{\"description\":\"Options resources\",\"links\":{\"availableDrivers\":\"/api/v1/options/availableDrivers\"}}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/support/fixtures/is_available_no_access.json b/gooddata-sdk/tests/support/fixtures/is_available_no_access.json deleted file mode 100644 index ca021dcee..000000000 --- a/gooddata-sdk/tests/support/fixtures/is_available_no_access.json +++ /dev/null @@ -1,90 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/options", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 401, - "message": "" - }, - "headers": { - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "WWW-Authenticate": [ - "Bearer error=\"invalid_token\", error_description=\"Unable to lookup user details for provided Bearer token\", error_uri=\"https://tools.ietf.org/html/rfc6750#section-3.1\"" - ], - "X-Frame-Options": [ - "DENY" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Connection": [ - "keep-alive" - ], - "Server": [ - "nginx" - ], - "Expires": [ - "0" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "GoodData-Deployment": [ - "aio" - ], - "Pragma": [ - "no-cache" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:12 GMT" - ] - }, - "body": { - "string": "" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.json b/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.json deleted file mode 100644 index 452d69e60..000000000 --- a/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.json +++ /dev/null @@ -1,93 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/options", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "" - }, - "headers": { - "Set-Cookie": [ - "SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 GMT; Path=/; HttpOnly" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "f0146650cd01de56" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "Transfer-Encoding": [ - "chunked" - ], - "X-XSS-Protection": [ - "1; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Type": [ - "application/json" - ], - "X-Frame-Options": [ - "DENY" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:12 GMT" - ] - }, - "body": { - "string": "{\"options\":{\"description\":\"Options resources\",\"links\":{\"availableDrivers\":\"/api/v1/options/availableDrivers\"}}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/support/test_support.py b/gooddata-sdk/tests/support/test_support.py index 09ec8d334..2c8ad753d 100644 --- a/gooddata-sdk/tests/support/test_support.py +++ b/gooddata-sdk/tests/support/test_support.py @@ -5,18 +5,17 @@ from pathlib import Path import pytest -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_sdk import GoodDataSdk -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "is_available.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "is_available.yaml")) def test_is_available(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) assert sdk.support.is_available @@ -27,14 +26,14 @@ def test_is_not_available(test_config): assert not sdk.support.is_available -@gd_vcr.use_cassette(str(_fixtures_dir / "is_available_no_access.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "is_available_no_access.yaml")) def test_is_available_no_access(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_="1234") with pytest.raises(Exception): assert sdk.support.is_available -@gd_vcr.use_cassette(str(_fixtures_dir / "wait_till_available_no_wait.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "wait_till_available_no_wait.yaml")) def test_wait_till_available_no_wait(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) start_time = time.time() diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.json b/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.json deleted file mode 100644 index 03e272d7e..000000000 --- a/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"attr1\"}], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"metric1\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"attr1\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1efe7e0259843bfc" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "530" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"attr1\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"metric1\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"02e71cec2dcf4e89e91c5b640c323d0df2b6f0c4\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/02e71cec2dcf4e89e91c5b640c323d0df2b6f0c4?offset=0%2C0&limit=512%2C256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "ccc5a184e901ea2b" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "626" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"data\":[[98425.2],[56710.83],[228392.39],[18.7],[132511.22]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[5,1],\"offset\":[0,0],\"total\":[5,1]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.json b/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.json deleted file mode 100644 index 1db699583..000000000 --- a/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"attr1\"}], \"filters\": [{\"positiveAttributeFilter\": {\"in\": {\"values\": [\"Unknown\", \"Northeast\"]}, \"label\": {\"localIdentifier\": \"attr1\"}}}], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"metric1\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"attr1\"], \"localIdentifier\": \"dim_0\"}, {\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_1\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "05a0b7c34a7bfc9c" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "530" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"attr1\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"},{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"metric1\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_1\"}],\"links\":{\"executionResult\":\"800717270c01966beeca39a8dc74d872b8bc3cb1\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/800717270c01966beeca39a8dc74d872b8bc3cb1?offset=0%2C0&limit=512%2C256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "1b7177aaab93eee8" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "377" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"data\":[[56710.83],[18.7]],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}}]}]},{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[2,1],\"offset\":[0,0],\"total\":[2,1]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.json b/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.json deleted file mode 100644 index 333faa8de..000000000 --- a/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [{\"label\": {\"identifier\": {\"id\": \"region\", \"type\": \"label\"}}, \"localIdentifier\": \"attr1\"}], \"filters\": [], \"measures\": []}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"attr1\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "2bd586b72b6aca02" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "394" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:15 GMT" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"attributeHeader\":{\"localIdentifier\":\"attr1\",\"label\":{\"id\":\"region\",\"type\":\"label\"},\"labelName\":\"Region\",\"attribute\":{\"id\":\"region\",\"type\":\"attribute\"},\"attributeName\":\"Region\",\"granularity\":null,\"primaryLabel\":{\"id\":\"region\",\"type\":\"label\"}}}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"60194d410c2708f3b6399161983d04396f18cc2e\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/60194d410c2708f3b6399161983d04396f18cc2e?offset=0&limit=512", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "62290f61002e9e85" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "499" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"data\":[],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"attributeHeader\":{\"labelValue\":\"Midwest\",\"primaryLabelValue\":\"Midwest\"}},{\"attributeHeader\":{\"labelValue\":\"Northeast\",\"primaryLabelValue\":\"Northeast\"}},{\"attributeHeader\":{\"labelValue\":\"South\",\"primaryLabelValue\":\"South\"}},{\"attributeHeader\":{\"labelValue\":\"Unknown\",\"primaryLabelValue\":\"Unknown\"}},{\"attributeHeader\":{\"labelValue\":\"West\",\"primaryLabelValue\":\"West\"}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[5],\"offset\":[0],\"total\":[5]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_metric.json b/gooddata-sdk/tests/table/fixtures/table_with_just_metric.json deleted file mode 100644 index 4f687ccdd..000000000 --- a/gooddata-sdk/tests/table/fixtures/table_with_just_metric.json +++ /dev/null @@ -1,184 +0,0 @@ -{ - "version": 1, - "interactions": [ - { - "request": { - "method": "POST", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute", - "body": "{\"execution\": {\"attributes\": [], \"filters\": [], \"measures\": [{\"definition\": {\"measure\": {\"item\": {\"identifier\": {\"id\": \"order_amount\", \"type\": \"metric\"}}, \"computeRatio\": false, \"filters\": []}}, \"localIdentifier\": \"metric1\"}]}, \"resultSpec\": {\"dimensions\": [{\"itemIdentifiers\": [\"measureGroup\"], \"localIdentifier\": \"dim_0\"}]}}", - "headers": { - "Accept": [ - "application/json" - ], - "Content-Type": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "90387263630e7174" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "245" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"executionResponse\":{\"dimensions\":[{\"headers\":[{\"measureGroupHeaders\":[{\"localIdentifier\":\"metric1\",\"format\":\"$#,##0\",\"name\":\"Order Amount\"}]}],\"localIdentifier\":\"dim_0\"}],\"links\":{\"executionResult\":\"3bbb26755602221ca0c8d96c0c6ffab56c78c53a\"}}}" - } - } - }, - { - "request": { - "method": "GET", - "uri": "http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3bbb26755602221ca0c8d96c0c6ffab56c78c53a?offset=0&limit=256", - "body": null, - "headers": { - "Accept": [ - "application/json" - ], - "X-Requested-With": [ - "XMLHttpRequest" - ], - "X-GDC-VALIDATE-RELATIONS": [ - "true" - ] - } - }, - "response": { - "status": { - "code": 200, - "message": "OK" - }, - "headers": { - "Set-Cookie": [ - "SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 GMT; HttpOnly; SameSite=Lax" - ], - "Access-Control-Expose-Headers": [ - "Content-Disposition, Content-Length, Content-Range, Set-Cookie" - ], - "X-GDC-TRACE-ID": [ - "5f4eb94aaac2af6d" - ], - "Content-Security-Policy": [ - "default-src 'self' *.wistia.com *.wistia.net; script-src 'self' 'unsafe-inline' 'unsafe-eval' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src 'self' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net privacy-policy.truste.com www.gooddata.com; style-src 'self' 'unsafe-inline' fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src 'self' data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; frame-src 'self'; object-src 'none'; worker-src 'self' blob:; child-src blob:; connect-src 'self' *.tiles.mapbox.com *.mapbox.com *.litix.io *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; media-src 'self' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net" - ], - "Vary": [ - "Origin", - "Access-Control-Request-Method", - "Access-Control-Request-Headers" - ], - "Pragma": [ - "no-cache" - ], - "Connection": [ - "keep-alive" - ], - "Expires": [ - "0" - ], - "X-XSS-Protection": [ - "1 ; mode=block" - ], - "Permission-Policy": [ - "geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment 'none';" - ], - "Cache-Control": [ - "no-cache, no-store, max-age=0, must-revalidate" - ], - "Content-Length": [ - "176" - ], - "Referrer-Policy": [ - "no-referrer" - ], - "Content-Type": [ - "application/json" - ], - "X-Content-Type-Options": [ - "nosniff" - ], - "Server": [ - "nginx" - ], - "Access-Control-Allow-Credentials": [ - "true" - ], - "GoodData-Deployment": [ - "aio" - ], - "Date": [ - "Thu, 25 Aug 2022 13:09:16 GMT" - ] - }, - "body": { - "string": "{\"data\":[516058.34],\"dimensionHeaders\":[{\"headerGroups\":[{\"headers\":[{\"measureHeader\":{\"measureIndex\":0}}]}]}],\"grandTotals\":[],\"paging\":{\"count\":[1],\"offset\":[0],\"total\":[1]}}" - } - } - } - ] -} diff --git a/gooddata-sdk/tests/table/test_table.py b/gooddata-sdk/tests/table/test_table.py index 3c3084059..ab9172995 100644 --- a/gooddata-sdk/tests/table/test_table.py +++ b/gooddata-sdk/tests/table/test_table.py @@ -3,18 +3,17 @@ from pathlib import Path -import vcr +from tests_support.vcrpy_utils import get_vcr from gooddata_sdk import Attribute, GoodDataSdk, ObjId, PositiveAttributeFilter, SimpleMetric -from tests import VCR_MATCH_ON + +gd_vcr = get_vcr() _current_dir = Path(__file__).parent.absolute() _fixtures_dir = _current_dir / "fixtures" -gd_vcr = vcr.VCR(filter_headers=["authorization", "user-agent"], serializer="json", match_on=VCR_MATCH_ON) - -@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_just_attribute.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_just_attribute.yaml")) def test_table_with_just_attribute(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) table = sdk.tables.for_items(test_config["workspace"], items=[Attribute(local_id="attr1", label="region")]) @@ -24,7 +23,7 @@ def test_table_with_just_attribute(test_config): assert values == ["Midwest", "Northeast", "South", "Unknown", "West"] -@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_just_metric.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_just_metric.yaml")) def test_table_with_just_measure(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) table = sdk.tables.for_items( @@ -38,7 +37,7 @@ def test_table_with_just_measure(test_config): assert values[0] > 0 -@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_attribute_and_metric.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_attribute_and_metric.yaml")) def test_table_with_attribute_and_metric(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) table = sdk.tables.for_items( @@ -53,7 +52,7 @@ def test_table_with_attribute_and_metric(test_config): assert len(values) == 5 -@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_attribute_metric_and_filter.json")) +@gd_vcr.use_cassette(str(_fixtures_dir / "table_with_attribute_metric_and_filter.yaml")) def test_table_with_attribute_metric_and_filter(test_config): sdk = GoodDataSdk.create(host_=test_config["host"], token_=test_config["token"]) table = sdk.tables.for_items( diff --git a/project_common.mk b/project_common.mk index a858f42f3..bdae8d081 100644 --- a/project_common.mk +++ b/project_common.mk @@ -67,4 +67,4 @@ remove-store-data: .PHONY: remove-cassettes remove-cassettes: remove-store-data - find $(CURDIR)/tests -type f -name "*.json" -path "*/fixtures/*" -print -delete + find $(CURDIR)/tests -type f -name "*.yaml" -path "*/fixtures/*" -print -delete From 8c68567f0754168924547c0cc3bdc63eee425ceb Mon Sep 17 00:00:00 2001 From: hkad98 Date: Mon, 29 Aug 2022 17:31:34 +0200 Subject: [PATCH 4/4] NAS-4246 fixtures --- .../execute_compute_table_all_columns.yaml | 456 + .../execute_compute_table_metrics_only.yaml | 230 + ...ompute_table_with_reduced_granularity.yaml | 248 + .../fixtures/execute_insight_all_columns.yaml | 725 ++ .../execute_insight_some_columns.yaml | 725 ++ .../import_compute_without_restrictions.yaml | 1866 ++++ .../import_insights_without_restrictions.yaml | 3342 ++++++ .../dataframe_for_exec_def_one_dim1.yaml | 9753 ++++++++++++++++ .../dataframe_for_exec_def_one_dim2.yaml | 9794 +++++++++++++++++ .../dataframe_for_exec_def_totals1.yaml | 3299 ++++++ .../dataframe_for_exec_def_totals2.yaml | 5405 +++++++++ .../dataframe_for_exec_def_totals3.yaml | 3299 ++++++ .../dataframe_for_exec_def_totals4.yaml | 5405 +++++++++ .../dataframe_for_exec_def_two_dim1.yaml | 2930 +++++ .../dataframe_for_exec_def_two_dim2.yaml | 4726 ++++++++ .../dataframe_for_exec_def_two_dim3.yaml | 2858 +++++ .../fixtures/dataframe_for_insight.yaml | 2587 +++++ .../fixtures/dataframe_for_insight_date.yaml | 2361 ++++ .../dataframe_for_insight_no_index.yaml | 2587 +++++ .../fixtures/dataframe_for_items.yaml | 2247 ++++ .../dataframe_for_items_no_index.yaml | 2247 ++++ .../fixtures/empty_indexed_dataframe.yaml | 2087 ++++ .../fixtures/empty_not_indexed_dataframe.yaml | 2087 ++++ ...ulti_index_filtered_metrics_and_label.yaml | 2179 ++++ ...ndex_filtered_metrics_and_label_reuse.yaml | 2152 ++++ .../fixtures/multi_index_metrics.yaml | 2248 ++++ .../multi_index_metrics_and_label.yaml | 4135 +++++++ ...t_indexed_filtered_metrics_and_labels.yaml | 2104 ++++ .../fixtures/not_indexed_metrics.yaml | 2064 ++++ .../not_indexed_metrics_and_labels.yaml | 2116 ++++ ...mple_index_filtered_metrics_and_label.yaml | 2155 ++++ .../fixtures/simple_index_metrics.yaml | 2216 ++++ .../simple_index_metrics_and_label.yaml | 2114 ++++ .../simple_index_metrics_no_duplicate.yaml | 2114 ++++ .../fixtures/multi_index_filtered_series.yaml | 2140 ++++ .../fixtures/multi_index_metric_series.yaml | 2216 ++++ .../not_indexed_filtered_metric_series.yaml | 4100 +++++++ .../fixtures/not_indexed_label_series.yaml | 2067 ++++ ...indexed_label_series_with_granularity.yaml | 2175 ++++ .../fixtures/not_indexed_metric_series.yaml | 2048 ++++ ...ndexed_metric_series_with_granularity.yaml | 2096 ++++ .../simple_index_filtered_series.yaml | 2095 ++++ .../fixtures/simple_index_label_series.yaml | 2067 ++++ .../fixtures/simple_index_metric_series.yaml | 2096 ++++ .../fixtures/data_sources/bigquery.yaml | 237 + .../declarative_data_sources.yaml | 402 + .../data_sources/demo_data_source_tables.yaml | 262 + .../data_sources/demo_data_sources_list.yaml | 88 + .../demo_delete_declarative_data_sources.yaml | 344 + .../demo_generate_logical_model.yaml | 679 ++ ...load_and_put_declarative_data_sources.yaml | 1103 ++ .../demo_put_declarative_data_sources.yaml | 826 ++ ...t_declarative_data_sources_connection.yaml | 903 ++ .../demo_register_upload_notification.yaml | 595 + .../data_sources/demo_scan_schemata.yaml | 75 + ...tore_and_load_and_put_declarative_pdm.yaml | 1142 ++ .../demo_store_declarative_data_sources.yaml | 704 ++ .../demo_test_declarative_data_sources.yaml | 366 + .../demo_test_get_declarative_pdm.yaml | 194 + .../demo_test_put_declarative_pdm.yaml | 521 + ...emo_test_scan_and_put_declarative_pdm.yaml | 981 ++ .../data_sources/demo_test_scan_model.yaml | 277 + ...emo_test_scan_model_with_table_prefix.yaml | 125 + .../catalog/fixtures/data_sources/dremio.yaml | 239 + .../catalog/fixtures/data_sources/patch.yaml | 663 ++ .../fixtures/data_sources/redshift.yaml | 235 + .../fixtures/data_sources/snowflake.yaml | 239 + .../catalog/fixtures/data_sources/test.yaml | 332 + .../data_sources/test_create_update.yaml | 679 ++ .../fixtures/data_sources/vertica.yaml | 235 + .../fixtures/organization/organization.yaml | 147 + .../fixtures/organization/update_name.yaml | 893 ++ .../organization/update_oidc_settings.yaml | 897 ++ .../get_declarative_permissions.yaml | 178 + .../put_declarative_permissions.yaml | 383 + .../fixtures/users/create_delete_user.yaml | 675 ++ .../users/create_delete_user_group.yaml | 664 ++ .../users/get_declarative_user_groups.yaml | 164 + .../fixtures/users/get_declarative_users.yaml | 178 + .../get_declarative_users_user_groups.yaml | 200 + .../catalog/fixtures/users/get_user.yaml | 91 + .../fixtures/users/get_user_group.yaml | 79 + .../fixtures/users/list_user_groups.yaml | 118 + .../catalog/fixtures/users/list_users.yaml | 120 + .../load_and_put_declarative_user_groups.yaml | 875 ++ .../users/load_and_put_declarative_users.yaml | 666 ++ ...and_put_declarative_users_user_groups.yaml | 777 ++ .../users/put_declarative_user_groups.yaml | 732 ++ .../fixtures/users/put_declarative_users.yaml | 523 + .../put_declarative_users_user_groups.yaml | 634 ++ .../users/store_declarative_user_groups.yaml | 450 + .../users/store_declarative_users.yaml | 464 + .../store_declarative_users_user_groups.yaml | 486 + .../catalog/fixtures/users/update_user.yaml | 703 ++ .../fixtures/users/update_user_group.yaml | 698 ++ .../workspace_content/demo_catalog.yaml | 1866 ++++ .../demo_catalog_availability.yaml | 2021 ++++ .../demo_catalog_list_attributes.yaml | 407 + .../demo_catalog_list_facts.yaml | 121 + .../demo_catalog_list_labels.yaml | 464 + .../demo_catalog_list_metrics.yaml | 332 + .../demo_get_declarative_analytics_model.yaml | 1380 +++ .../demo_get_declarative_ldm.yaml | 340 + .../demo_get_dependent_entities_graph.yaml | 1191 ++ ...dent_entities_graph_from_entry_points.yaml | 91 + ...and_modify_ds_and_put_declarative_ldm.yaml | 1848 ++++ ...d_and_put_declarative_analytics_model.yaml | 5275 +++++++++ .../demo_load_and_put_declarative_ldm.yaml | 1491 +++ .../demo_put_declarative_analytics_model.yaml | 1233 +++ .../demo_put_declarative_ldm.yaml | 1348 +++ ...emo_store_declarative_analytics_model.yaml | 3042 +++++ .../demo_store_declarative_ldm.yaml | 962 ++ .../workspaces/demo_create_workspace.yaml | 795 ++ .../demo_declarative_workspaces.yaml | 3468 ++++++ .../demo_delete_non_existing_workspace.yaml | 346 + .../demo_delete_parent_workspace.yaml | 346 + .../workspaces/demo_delete_workspace.yaml | 756 ++ .../demo_get_declarative_workspace.yaml | 3290 ++++++ ...et_declarative_workspace_data_filters.yaml | 200 + .../demo_get_declarative_workspaces.yaml | 1736 +++ ...get_declarative_workspaces_snake_case.yaml | 1736 +++ .../workspaces/demo_get_workspace.yaml | 168 + ...mo_load_and_put_declarative_workspace.yaml | 6846 ++++++++++++ ...ut_declarative_workspace_data_filters.yaml | 667 ++ ...o_load_and_put_declarative_workspaces.yaml | 5471 +++++++++ .../demo_put_declarative_workspace.yaml | 5379 +++++++++ ...ut_declarative_workspace_data_filters.yaml | 524 + .../demo_put_declarative_workspaces.yaml | 7060 ++++++++++++ .../demo_store_declarative_workspace.yaml | 3576 ++++++ ...re_declarative_workspace_data_filters.yaml | 486 + .../demo_store_declarative_workspaces.yaml | 3754 +++++++ .../demo_update_workspace_invalid.yaml | 496 + .../demo_update_workspace_valid.yaml | 962 ++ .../workspaces/demo_workspace_list.yaml | 118 + .../tests/support/fixtures/is_available.yaml | 77 + .../fixtures/wait_till_available_no_wait.yaml | 77 + .../table_with_attribute_and_metric.yaml | 235 + ...able_with_attribute_metric_and_filter.yaml | 230 + .../fixtures/table_with_just_attribute.yaml | 205 + .../fixtures/table_with_just_metric.yaml | 187 + 140 files changed, 216805 insertions(+) create mode 100644 gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml create mode 100644 gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml create mode 100644 gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml create mode 100644 gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml create mode 100644 gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml create mode 100644 gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml create mode 100644 gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml create mode 100644 gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml create mode 100644 gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/test.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml create mode 100644 gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml create mode 100644 gooddata-sdk/tests/support/fixtures/is_available.yaml create mode 100644 gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml create mode 100644 gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml create mode 100644 gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml create mode 100644 gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml create mode 100644 gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml new file mode 100644 index 000000000..4bfacf21a --- /dev/null +++ b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_all_columns.yaml @@ -0,0 +1,456 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: products_category + - label: + identifier: + id: product_name + type: label + localIdentifier: products_product_name + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: quantity + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: percent_revenue_in_category + type: metric + computeRatio: false + filters: [] + localIdentifier: percent_revenue_in_category + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: revenue + resultSpec: + dimensions: + - itemIdentifiers: + - products_category + - products_product_name + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1025' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: products_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: products_product_name + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: quantity + - localIdentifier: price + - localIdentifier: percent_revenue_in_category + format: '#,##0.0%' + name: '% Revenue in Category' + - localIdentifier: revenue + format: $#,##0 + name: Revenue + localIdentifier: dim_1 + links: + executionResult: 87557bf9c22f2a1c1bce651950cf470a1e6e36c7 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/87557bf9c22f2a1c1bce651950cf470a1e6e36c7?offset=0%2C0&limit=512%2C256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '3876' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 449.0 + - 14172.94 + - 0.17725916115332446 + - 16744.48 + - - 172.0 + - 7085.17 + - 0.07819070840973427 + - 7386.15 + - - 727.0 + - 15526.79 + - 0.18452791227743862 + - 17431.11 + - - 854.0 + - 15245.54 + - 0.17461697017263958 + - 16494.89 + - - 557.0 + - 16808.84 + - 0.19551673364684496 + - 18469.15 + - - 1096.0 + - 17039.34 + - 0.1898885143400181 + - 17937.49 + - - 149.0 + - 14153.1 + - 0.15973175146727148 + - 14421.37 + - - 253.0 + - 12370.9 + - 0.14394284849088326 + - 12995.87 + - - 571.0 + - 40159.21 + - 0.48763974231358437 + - 44026.52 + - - 735.0 + - 17357.08 + - 0.20868565772826095 + - 18841.17 + - - 144.0 + - 4569.47 + - 0.06838997246733888 + - 4725.73 + - - 258.0 + - 16834.96 + - 0.25553420960278433 + - 17657.35 + - - 386.0 + - 37281.63 + - 0.5833271466249879 + - 40307.76 + - - 542.0 + - 5977.51 + - 0.09274867130488894 + - 6408.91 + - - 147.0 + - 30956.84 + - 0.16556859291478074 + - 34697.71 + - - 58.0 + - 29355.68 + - 0.13199641470235435 + - 27662.09 + - - 63.0 + - 43015.28 + - 0.22793065968694112 + - 47766.74 + - - 71.0 + - 92554.17 + - 0.47450433269592374 + - 99440.44 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - attributeHeader: + labelValue: Polo Shirt + primaryLabelValue: Polo Shirt + - attributeHeader: + labelValue: Pullover + primaryLabelValue: Pullover + - attributeHeader: + labelValue: Shorts + primaryLabelValue: Shorts + - attributeHeader: + labelValue: Skirt + primaryLabelValue: Skirt + - attributeHeader: + labelValue: Slacks + primaryLabelValue: Slacks + - attributeHeader: + labelValue: T-Shirt + primaryLabelValue: T-Shirt + - attributeHeader: + labelValue: Artego + primaryLabelValue: Artego + - attributeHeader: + labelValue: Compglass + primaryLabelValue: Compglass + - attributeHeader: + labelValue: Magnemo + primaryLabelValue: Magnemo + - attributeHeader: + labelValue: PortaCode + primaryLabelValue: PortaCode + - attributeHeader: + labelValue: Applica + primaryLabelValue: Applica + - attributeHeader: + labelValue: ChalkTalk + primaryLabelValue: ChalkTalk + - attributeHeader: + labelValue: Optique + primaryLabelValue: Optique + - attributeHeader: + labelValue: Peril + primaryLabelValue: Peril + - attributeHeader: + labelValue: Biolid + primaryLabelValue: Biolid + - attributeHeader: + labelValue: Elentrix + primaryLabelValue: Elentrix + - attributeHeader: + labelValue: Integres + primaryLabelValue: Integres + - attributeHeader: + labelValue: Neptide + primaryLabelValue: Neptide + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 2 + - measureHeader: + measureIndex: 3 + grandTotals: [] + paging: + count: + - 18 + - 4 + offset: + - 0 + - 0 + total: + - 18 + - 4 diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml new file mode 100644 index 000000000..844708627 --- /dev/null +++ b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_metrics_only.yaml @@ -0,0 +1,230 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: quantity + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: percent_revenue_in_category + type: metric + computeRatio: false + filters: [] + localIdentifier: percent_revenue_in_category + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: revenue + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '400' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: quantity + - localIdentifier: price + - localIdentifier: percent_revenue_in_category + format: '#,##0.0%' + name: '% Revenue in Category' + - localIdentifier: revenue + format: $#,##0 + name: Revenue + localIdentifier: dim_0 + links: + executionResult: 59303d203050ffc5a805fefcd7f8490c283a3dd7 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/59303d203050ffc5a805fefcd7f8490c283a3dd7?offset=0&limit=256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '308' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 7232.0 + - 430464.45 + - 1.0 + - 463414.93 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 2 + - measureHeader: + measureIndex: 3 + grandTotals: [] + paging: + count: + - 4 + offset: + - 0 + total: + - 4 diff --git a/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml new file mode 100644 index 000000000..db8eda0aa --- /dev/null +++ b/gooddata-fdw/tests/execute/fixtures/execute_compute_table_with_reduced_granularity.yaml @@ -0,0 +1,248 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: products_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: quantity + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: revenue + resultSpec: + dimensions: + - itemIdentifiers: + - products_category + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '605' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: products_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: quantity + - localIdentifier: revenue + format: $#,##0 + name: Revenue + localIdentifier: dim_1 + links: + executionResult: 7c579403cf603ce0ba1374a6d82f719b383f97d0 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7c579403cf603ce0ba1374a6d82f719b383f97d0?offset=0%2C0&limit=512%2C256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '618' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 3855.0 + - 94463.27 + - - 1708.0 + - 90284.93 + - - 1330.0 + - 69099.75 + - - 339.0 + - 209566.98 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 4 + - 2 + offset: + - 0 + - 0 + total: + - 4 + - 2 diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml b/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml new file mode 100644 index 000000000..f9c27b7dd --- /dev/null +++ b/gooddata-fdw/tests/execute/fixtures/execute_insight_all_columns.yaml @@ -0,0 +1,725 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + title: Revenue and Quantity by Product and Category + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + relationships: + metrics: + data: + - id: percent_revenue_in_category + type: metric + - id: revenue + type: metric + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + labels: + data: + - id: customer_name + type: label + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + included: + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Revenue + description: '' + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: '% Revenue in Category' + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - label: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: AVG + computeRatio: false + filters: [] + localIdentifier: aa6391acccf1452f8011201aef9af492 + - definition: + measure: + item: + identifier: + id: percent_revenue_in_category + type: metric + computeRatio: false + filters: [] + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + resultSpec: + dimensions: + - itemIdentifiers: + - 06bc6b3b9949466494e4f594c11f1bff + - 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1132' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - localIdentifier: aa6391acccf1452f8011201aef9af492 + - localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + format: '#,##0.0%' + name: '% Revenue in Category' + - localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + format: $#,##0 + name: Revenue + localIdentifier: dim_1 + links: + executionResult: cd95b71da5f4ea7d2e051e67d71fb4d252e6f787 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/cd95b71da5f4ea7d2e051e67d71fb4d252e6f787?offset=0%2C0&limit=512%2C256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '4052' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 449.0 + - 41.320524781341106 + - 0.17725916115332446 + - 16744.48 + - - 172.0 + - 46.30830065359477 + - 0.07819070840973427 + - 7386.15 + - - 727.0 + - 26.586969178082192 + - 0.18452791227743862 + - 17431.11 + - - 854.0 + - 21.873084648493546 + - 0.17461697017263958 + - 16494.89 + - - 557.0 + - 36.620566448801746 + - 0.19551673364684496 + - 18469.15 + - - 1096.0 + - 18.500912052117265 + - 0.1898885143400181 + - 17937.49 + - - 149.0 + - 115.06585365853658 + - 0.15973175146727148 + - 14421.37 + - - 253.0 + - 57.807943925233644 + - 0.14394284849088326 + - 12995.87 + - - 571.0 + - 86.17856223175966 + - 0.48763974231358437 + - 44026.52 + - - 735.0 + - 28.59485996705107 + - 0.20868565772826095 + - 18841.17 + - - 144.0 + - 37.45467213114754 + - 0.06838997246733888 + - 4725.73 + - - 258.0 + - 76.52254545454545 + - 0.25553420960278433 + - 17657.35 + - - 386.0 + - 114.36082822085889 + - 0.5833271466249879 + - 40307.76 + - - 542.0 + - 12.718106382978723 + - 0.09274867130488894 + - 6408.91 + - - 147.0 + - 260.141512605042 + - 0.16556859291478074 + - 34697.71 + - - 58.0 + - 553.8807547169812 + - 0.13199641470235435 + - 27662.09 + - - 63.0 + - 811.6090566037736 + - 0.22793065968694112 + - 47766.74 + - - 71.0 + - 1568.7147457627118 + - 0.47450433269592374 + - 99440.44 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - attributeHeader: + labelValue: Polo Shirt + primaryLabelValue: Polo Shirt + - attributeHeader: + labelValue: Pullover + primaryLabelValue: Pullover + - attributeHeader: + labelValue: Shorts + primaryLabelValue: Shorts + - attributeHeader: + labelValue: Skirt + primaryLabelValue: Skirt + - attributeHeader: + labelValue: Slacks + primaryLabelValue: Slacks + - attributeHeader: + labelValue: T-Shirt + primaryLabelValue: T-Shirt + - attributeHeader: + labelValue: Artego + primaryLabelValue: Artego + - attributeHeader: + labelValue: Compglass + primaryLabelValue: Compglass + - attributeHeader: + labelValue: Magnemo + primaryLabelValue: Magnemo + - attributeHeader: + labelValue: PortaCode + primaryLabelValue: PortaCode + - attributeHeader: + labelValue: Applica + primaryLabelValue: Applica + - attributeHeader: + labelValue: ChalkTalk + primaryLabelValue: ChalkTalk + - attributeHeader: + labelValue: Optique + primaryLabelValue: Optique + - attributeHeader: + labelValue: Peril + primaryLabelValue: Peril + - attributeHeader: + labelValue: Biolid + primaryLabelValue: Biolid + - attributeHeader: + labelValue: Elentrix + primaryLabelValue: Elentrix + - attributeHeader: + labelValue: Integres + primaryLabelValue: Integres + - attributeHeader: + labelValue: Neptide + primaryLabelValue: Neptide + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 2 + - measureHeader: + measureIndex: 3 + grandTotals: [] + paging: + count: + - 18 + - 4 + offset: + - 0 + - 0 + total: + - 18 + - 4 diff --git a/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml b/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml new file mode 100644 index 000000000..f9c27b7dd --- /dev/null +++ b/gooddata-fdw/tests/execute/fixtures/execute_insight_some_columns.yaml @@ -0,0 +1,725 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + title: Revenue and Quantity by Product and Category + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + relationships: + metrics: + data: + - id: percent_revenue_in_category + type: metric + - id: revenue + type: metric + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + labels: + data: + - id: customer_name + type: label + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + included: + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Revenue + description: '' + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: '% Revenue in Category' + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - label: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: AVG + computeRatio: false + filters: [] + localIdentifier: aa6391acccf1452f8011201aef9af492 + - definition: + measure: + item: + identifier: + id: percent_revenue_in_category + type: metric + computeRatio: false + filters: [] + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + resultSpec: + dimensions: + - itemIdentifiers: + - 06bc6b3b9949466494e4f594c11f1bff + - 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1132' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - localIdentifier: aa6391acccf1452f8011201aef9af492 + - localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + format: '#,##0.0%' + name: '% Revenue in Category' + - localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + format: $#,##0 + name: Revenue + localIdentifier: dim_1 + links: + executionResult: cd95b71da5f4ea7d2e051e67d71fb4d252e6f787 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/cd95b71da5f4ea7d2e051e67d71fb4d252e6f787?offset=0%2C0&limit=512%2C256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '4052' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 449.0 + - 41.320524781341106 + - 0.17725916115332446 + - 16744.48 + - - 172.0 + - 46.30830065359477 + - 0.07819070840973427 + - 7386.15 + - - 727.0 + - 26.586969178082192 + - 0.18452791227743862 + - 17431.11 + - - 854.0 + - 21.873084648493546 + - 0.17461697017263958 + - 16494.89 + - - 557.0 + - 36.620566448801746 + - 0.19551673364684496 + - 18469.15 + - - 1096.0 + - 18.500912052117265 + - 0.1898885143400181 + - 17937.49 + - - 149.0 + - 115.06585365853658 + - 0.15973175146727148 + - 14421.37 + - - 253.0 + - 57.807943925233644 + - 0.14394284849088326 + - 12995.87 + - - 571.0 + - 86.17856223175966 + - 0.48763974231358437 + - 44026.52 + - - 735.0 + - 28.59485996705107 + - 0.20868565772826095 + - 18841.17 + - - 144.0 + - 37.45467213114754 + - 0.06838997246733888 + - 4725.73 + - - 258.0 + - 76.52254545454545 + - 0.25553420960278433 + - 17657.35 + - - 386.0 + - 114.36082822085889 + - 0.5833271466249879 + - 40307.76 + - - 542.0 + - 12.718106382978723 + - 0.09274867130488894 + - 6408.91 + - - 147.0 + - 260.141512605042 + - 0.16556859291478074 + - 34697.71 + - - 58.0 + - 553.8807547169812 + - 0.13199641470235435 + - 27662.09 + - - 63.0 + - 811.6090566037736 + - 0.22793065968694112 + - 47766.74 + - - 71.0 + - 1568.7147457627118 + - 0.47450433269592374 + - 99440.44 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - attributeHeader: + labelValue: Polo Shirt + primaryLabelValue: Polo Shirt + - attributeHeader: + labelValue: Pullover + primaryLabelValue: Pullover + - attributeHeader: + labelValue: Shorts + primaryLabelValue: Shorts + - attributeHeader: + labelValue: Skirt + primaryLabelValue: Skirt + - attributeHeader: + labelValue: Slacks + primaryLabelValue: Slacks + - attributeHeader: + labelValue: T-Shirt + primaryLabelValue: T-Shirt + - attributeHeader: + labelValue: Artego + primaryLabelValue: Artego + - attributeHeader: + labelValue: Compglass + primaryLabelValue: Compglass + - attributeHeader: + labelValue: Magnemo + primaryLabelValue: Magnemo + - attributeHeader: + labelValue: PortaCode + primaryLabelValue: PortaCode + - attributeHeader: + labelValue: Applica + primaryLabelValue: Applica + - attributeHeader: + labelValue: ChalkTalk + primaryLabelValue: ChalkTalk + - attributeHeader: + labelValue: Optique + primaryLabelValue: Optique + - attributeHeader: + labelValue: Peril + primaryLabelValue: Peril + - attributeHeader: + labelValue: Biolid + primaryLabelValue: Biolid + - attributeHeader: + labelValue: Elentrix + primaryLabelValue: Elentrix + - attributeHeader: + labelValue: Integres + primaryLabelValue: Integres + - attributeHeader: + labelValue: Neptide + primaryLabelValue: Neptide + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 2 + - measureHeader: + measureIndex: 3 + grandTotals: [] + paging: + count: + - 18 + - 4 + offset: + - 0 + - 0 + total: + - 18 + - 4 diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml new file mode 100644 index 000000000..2d7a7f8bc --- /dev/null +++ b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_compute_without_restrictions.yaml @@ -0,0 +1,1866 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.minute + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.hour + type: attribute + - id: date.quarter + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 diff --git a/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml new file mode 100644 index 000000000..62b94b4be --- /dev/null +++ b/gooddata-fdw/tests/import_foreign_schema/fixtures/import_insights_without_restrictions.yaml @@ -0,0 +1,3342 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.minute + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.hour + type: attribute + - id: date.quarter + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects?include=ALL&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/campaign_spend + relationships: + metrics: + data: + - id: campaign_spend + type: metric + labels: + data: + - id: campaign_channels.category + type: label + - id: campaign_name + type: label + - id: type + type: label + type: visualizationObject + - attributes: + title: Customers Trend + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend + relationships: + metrics: + data: + - id: amount_of_active_customers + type: metric + - id: revenue_per_customer + type: metric + datasets: + data: + - id: date + type: dataset + labels: + data: + - id: date.month + type: label + type: visualizationObject + - attributes: + title: '% Revenue per Product by Customer and Category' + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/percent_revenue_per_product_by_customer_and_category + relationships: + metrics: + data: + - id: percent_revenue_per_product + type: metric + - id: revenue + type: metric + labels: + data: + - id: customer_name + type: label + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + - attributes: + title: Percentage of Customers by Region + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/percentage_of_customers_by_region + relationships: + metrics: + data: + - id: amount_of_active_customers + type: metric + datasets: + data: + - id: date + type: dataset + labels: + data: + - id: date.month + type: label + - id: region + type: label + type: visualizationObject + - attributes: + title: Product Breakdown + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_breakdown + relationships: + metrics: + data: + - id: revenue + type: metric + labels: + data: + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + - attributes: + title: Product Categories Pie Chart + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_categories_pie_chart + relationships: + metrics: + data: + - id: revenue + type: metric + labels: + data: + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + - attributes: + title: Product Revenue Comparison (over previous period) + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_revenue_comparison-over_previous_period + relationships: + attributes: + data: + - id: date.year + type: attribute + metrics: + data: + - id: revenue + type: metric + datasets: + data: + - id: date + type: dataset + labels: + data: + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + - attributes: + title: Product Saleability + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/product_saleability + relationships: + metrics: + data: + - id: amount_of_orders + type: metric + - id: revenue + type: metric + labels: + data: + - id: product_name + type: label + type: visualizationObject + - attributes: + title: Revenue and Quantity by Product and Category + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category + relationships: + metrics: + data: + - id: percent_revenue_in_category + type: metric + - id: revenue + type: metric + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + labels: + data: + - id: products.category + type: label + - id: product_name + type: label + - id: customer_name + type: label + type: visualizationObject + - attributes: + title: Revenue by Category Trend + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_by_category_trend + relationships: + metrics: + data: + - id: revenue + type: metric + datasets: + data: + - id: date + type: dataset + labels: + data: + - id: date.month + type: label + - id: products.category + type: label + type: visualizationObject + - attributes: + title: Revenue by Product + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_by_product + relationships: + metrics: + data: + - id: revenue + type: metric + labels: + data: + - id: product_name + type: label + type: visualizationObject + - attributes: + title: Revenue per $ vs Spend by Campaign + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_per_usd_vs_spend_by_campaign + relationships: + metrics: + data: + - id: campaign_spend + type: metric + - id: revenue_per_dollar_spent + type: metric + labels: + data: + - id: campaign_name + type: label + type: visualizationObject + - attributes: + title: Revenue Trend + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_trend + relationships: + metrics: + data: + - id: revenue + type: metric + - id: amount_of_orders + type: metric + datasets: + data: + - id: date + type: dataset + labels: + data: + - id: date.month + type: label + type: visualizationObject + - attributes: + title: Top 10 Customers + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/top_10_customers + relationships: + metrics: + data: + - id: revenue_top_10 + type: metric + labels: + data: + - id: customer_name + type: label + - id: state + type: label + type: visualizationObject + - attributes: + title: Top 10 Products + areRelationsValid: true + content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/top_10_products + relationships: + metrics: + data: + - id: revenue_top_10 + type: metric + labels: + data: + - id: product_name + type: label + - id: products.category + type: label + type: visualizationObject + included: + - attributes: + title: '# of Orders' + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: Revenue + description: '' + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: '% Revenue in Category' + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: Revenue per Customer + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue / Top 10 + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: '% Revenue per Product' + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Date + description: '' + tags: + - Date + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + type: dataset + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: '# of Active Customers' + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Campaign Spend + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Revenue per Dollar Spent + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects?include=ALL&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects?include=ALL&page=1&size=500 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml new file mode 100644 index 000000000..374c90866 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim1.yaml @@ -0,0 +1,9753 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - region + - state + - product_category + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1057' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + links: + executionResult: 16c75668eaadc7b242a1d252106d8a93fd5b0ab8 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=0&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27463' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + offset: + - 0 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=100&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27695' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - 220.46 + - 360.16 + - 161.73 + - 161.73 + - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - headers: + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + offset: + - 100 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=200&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27287' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - 1478.95 + - 1514.89 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + offset: + - 200 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=300&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '17067' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 64 + offset: + - 300 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1861' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + links: + executionResult: 16c75668eaadc7b242a1d252106d8a93fd5b0ab8 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - region + - state + - product_category + - measureGroup + sorting: [] + totals: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=0&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27463' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + offset: + - 0 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=100&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27695' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - 220.46 + - 360.16 + - 161.73 + - 161.73 + - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - headers: + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + offset: + - 100 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=200&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27287' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - 1478.95 + - 1514.89 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + offset: + - 200 + total: + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/16c75668eaadc7b242a1d252106d8a93fd5b0ab8?offset=300&limit=100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '17067' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 64 + offset: + - 300 + total: + - 364 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml new file mode 100644 index 000000000..1b75cd6ae --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_one_dim2.yaml @@ -0,0 +1,9794 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: [] + localIdentifier: dim_0 + - itemIdentifiers: + - region + - state + - product_category + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1098' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: [] + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: bac8f2491f98472a11be1d71ae35dba859a70bd7 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27491' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 100 + offset: + - 0 + - 0 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C100&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27723' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - 220.46 + - 360.16 + - 161.73 + - 161.73 + - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - headers: + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 100 + offset: + - 0 + - 100 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C200&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27315' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - 1478.95 + - 1514.89 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 100 + offset: + - 0 + - 200 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C300&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '17095' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 64 + offset: + - 0 + - 300 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1964' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: [] + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: bac8f2491f98472a11be1d71ae35dba859a70bd7 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: [] + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - region + - state + - product_category + - measureGroup + sorting: [] + totals: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27491' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 100 + offset: + - 0 + - 0 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C100&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27723' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - 220.46 + - 360.16 + - 161.73 + - 161.73 + - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - headers: + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 100 + offset: + - 0 + - 100 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C200&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '27315' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - 1478.95 + - 1514.89 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 100 + offset: + - 0 + - 200 + total: + - 1 + - 364 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/bac8f2491f98472a11be1d71ae35dba859a70bd7?offset=0%2C300&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '17095' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: [] + - headerGroups: + - headers: + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 1 + - 64 + offset: + - 0 + - 300 + total: + - 1 + - 364 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml new file mode 100644 index 000000000..c15f3201d --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals1.yaml @@ -0,0 +1,3299 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - product_category + localIdentifier: dim_0 + - itemIdentifiers: + - region + - state + - measureGroup + localIdentifier: dim_1 + totals: + - function: SUM + localIdentifier: grand_total1 + metric: price + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - region + - state + - measureGroup + - function: MAX + localIdentifier: grand_total2 + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - region + - state + - measureGroup + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 0a819ddf91ace12b02b33684888816c204715df6 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0a819ddf91ace12b02b33684888816c204715df6?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '22935' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - 963.25 + - 1190.44 + - 1858.1 + - 2263.12 + - 802.06 + - 882.27 + - 989.47 + - 1104.14 + - 1915.46 + - 2369.61 + - 2065.18 + - 2541.12 + - 586.37 + - 742.46 + - 102.03 + - 102.03 + - 3463.82 + - 4467.47 + - 236.34 + - 393.47 + - 1869.53 + - 2146.81 + - 871.42 + - 1014.93 + - 955.93 + - 1055.56 + - 220.46 + - 360.16 + - 1007.04 + - 1129.66 + - 5004.64 + - 6162.98 + - 1677.18 + - 2310.61 + - 652.4 + - 712.22 + - 527.93 + - 738.82 + - 541.01 + - 717.46 + - 2518.14 + - 3019.08 + - 8476.07 + - 10448.66 + - 1973.23 + - 2601.99 + - 1304.99 + - 1671.49 + - 1274.22 + - 1368.62 + - 1558.28 + - 1952.49 + - 408.96 + - 646.74 + - 1802.4 + - 2176.17 + - 772.05 + - 1048.43 + - 1096.89 + - 1259.77 + - 1585.4 + - 1995.05 + - 9041.19 + - 11279.19 + - 3201.61 + - 3617.53 + - 571.06 + - 681.94 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 2294.87 + - 2725.93 + - 11367.24 + - 13561.15 + - 1478.95 + - 1514.89 + - 638.98 + - 893.14 + - 316.43 + - 454.71 + - 597.1 + - 701.11 + - 739.23 + - 969.9 + - 462.58 + - 523.96 + - 1213.9 + - 1575.07 + - 1069.48 + - 1394.01 + - 978.06 + - 1225.73 + - - 1936.08 + - 2325.5 + - 1115.49 + - 1178.01 + - 1819.59 + - 2474.87 + - 603.3 + - 674.41 + - 1581.46 + - 1767.83 + - 2329.01 + - 2826.18 + - 1512.2 + - 1961.18 + - 770.11 + - 770.11 + - 60.78 + - 60.78 + - 3532.76 + - 4133.16 + - 184.82 + - 281.19 + - 1813.39 + - 2638.54 + - 887.3 + - 1048.14 + - 1051.5 + - 1729.45 + - null + - null + - 537.52 + - 725.32 + - 4631.73 + - 6433.78 + - 1746.76 + - 2306.18 + - 949.42 + - 1198.83 + - 316.18 + - 422.57 + - 906.16 + - 906.16 + - 3262.11 + - 3945.61 + - 8258.54 + - 10548.47 + - 1805.62 + - 2152.51 + - 1039.04 + - 1153.3 + - 1727.11 + - 1943.0 + - 952.3 + - 1226.85 + - 549.99 + - 790.98 + - 1450.21 + - 1686.28 + - 876.39 + - 876.39 + - 541.59 + - 541.59 + - 1291.99 + - 1291.99 + - 8688.2 + - 10307.9 + - 2547.68 + - 2863.09 + - 750.01 + - 750.01 + - null + - null + - 869.41 + - 890.67 + - 2170.62 + - 2380.37 + - 11524.88 + - 13729.96 + - 1839.72 + - 2325.39 + - 758.13 + - 758.13 + - 299.91 + - 383.62 + - 596.79 + - 596.79 + - 567.73 + - 893.17 + - 540.36 + - 540.36 + - 676.67 + - 1173.63 + - 1244.55 + - 1429.29 + - 925.18 + - 1010.03 + - - 1644.01 + - 1667.22 + - 286.41 + - 286.41 + - 1491.35 + - 1491.35 + - 749.37 + - 864.05 + - 1817.19 + - 2663.57 + - 1264.88 + - 1311.02 + - 1922.63 + - 2653.67 + - 535.43 + - 535.43 + - 13.9 + - 13.9 + - 2498.84 + - 3377.52 + - 218.89 + - 218.89 + - 1321.08 + - 1684.95 + - 594.45 + - 594.45 + - 418.92 + - 418.92 + - 161.73 + - 161.73 + - 356.46 + - 356.46 + - 3316.02 + - 3995.11 + - 952.05 + - 1078.41 + - 759.31 + - 927.48 + - 454.73 + - 454.73 + - 437.49 + - 556.68 + - 3018.14 + - 3554.04 + - 5960.21 + - 6688.79 + - 1053.23 + - 1294.96 + - 311.97 + - 311.97 + - 1324.48 + - 1749.62 + - 1563.19 + - 2208.04 + - 174.34 + - 174.34 + - 1567.11 + - 1704.0 + - 771.44 + - 858.2 + - 612.65 + - 612.65 + - 616.68 + - 616.68 + - 7196.91 + - 8293.87 + - 2806.15 + - 3446.67 + - 810.47 + - 1176.32 + - null + - null + - 659.24 + - 926.38 + - 2137.33 + - 2158.09 + - 8522.94 + - 9700.71 + - 1030.04 + - 1366.28 + - 396.08 + - 396.08 + - 96.27 + - 178.1 + - 190.5 + - 373.65 + - 137.81 + - 172.97 + - 326.03 + - 440.93 + - 801.92 + - 801.92 + - 835.05 + - 835.05 + - 528.25 + - 973.49 + - - 3205.41 + - 3205.41 + - 3617.55 + - 3939.72 + - 3298.64 + - 3542.07 + - 2349.06 + - 2349.06 + - 3357.3 + - 5617.86 + - 2679.78 + - 3157.96 + - 3046.57 + - 3763.37 + - 666.19 + - 666.19 + - null + - null + - 4076.75 + - 7939.25 + - null + - null + - 5646.42 + - 5646.42 + - 538.99 + - 538.99 + - 1624.52 + - 1624.52 + - null + - null + - 231.84 + - 231.84 + - 8734.63 + - 13727.01 + - 9179.44 + - 9706.62 + - 3837.42 + - 3837.42 + - 3384.84 + - 3384.84 + - 1355.06 + - 1355.06 + - 7595.78 + - 7595.78 + - 19294.85 + - 25807.35 + - 5033.19 + - 5985.75 + - 223.09 + - 446.18 + - 2185.98 + - 2185.98 + - 4344.16 + - 6919.63 + - 2834.07 + - 2834.07 + - 4056.46 + - 4879.18 + - 6328.89 + - 6328.89 + - 1184.6 + - 1184.6 + - 1649.85 + - 1886.52 + - 19327.65 + - 22670.23 + - 7141.49 + - 7397.6 + - 523.09 + - 523.09 + - null + - null + - 2664.71 + - 2664.71 + - 3676.86 + - 3676.86 + - 25996.75 + - 30393.45 + - 5663.31 + - 5663.31 + - 3426.72 + - 3426.72 + - 1128.03 + - 3384.09 + - null + - null + - null + - null + - null + - null + - 1772.62 + - 2074.55 + - 5211.52 + - 6042.93 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: + - data: + - - null + - 3205.41 + - null + - 3939.72 + - null + - 3542.07 + - null + - 2349.06 + - null + - 5617.86 + - null + - 3157.96 + - null + - 3763.37 + - null + - 770.11 + - null + - 102.03 + - null + - 7939.25 + - null + - 393.47 + - null + - 5646.42 + - null + - 1048.14 + - null + - 1729.45 + - null + - 360.16 + - null + - 1129.66 + - null + - 13727.01 + - null + - 9706.62 + - null + - 3837.42 + - null + - 3384.84 + - null + - 1355.06 + - null + - 7595.78 + - null + - 25807.35 + - null + - 5985.75 + - null + - 1671.49 + - null + - 2185.98 + - null + - 6919.63 + - null + - 2834.07 + - null + - 4879.18 + - null + - 6328.89 + - null + - 1259.77 + - null + - 1995.05 + - null + - 22670.23 + - null + - 7397.6 + - null + - 1176.32 + - null + - 18.7 + - null + - 2664.71 + - null + - 3676.86 + - null + - 30393.45 + - null + - 5663.31 + - null + - 3426.72 + - null + - 3384.09 + - null + - 701.11 + - null + - 969.9 + - null + - 540.36 + - null + - 2074.55 + - null + - 6042.93 + - null + - 4246.86 + - - 8804.49 + - null + - 5982.7 + - null + - 8467.68 + - null + - 4503.79 + - null + - 7745.42 + - null + - 8189.130000000001 + - null + - 8546.58 + - null + - 2558.1 + - null + - 176.71 + - null + - 13572.17 + - null + - 640.05 + - null + - 10650.42 + - null + - 2892.16 + - null + - 4050.87 + - null + - 382.19 + - null + - 2132.86 + - null + - 21687.019999999997 + - null + - 13555.43 + - null + - 6198.55 + - null + - 4683.68 + - null + - 3239.7200000000003 + - null + - 16394.17 + - null + - 41989.67 + - null + - 9865.269999999999 + - null + - 2879.09 + - null + - 6511.790000000001 + - null + - 8417.93 + - null + - 3967.36 + - null + - 8876.18 + - null + - 8748.77 + - null + - 3435.73 + - null + - 5143.92 + - null + - 44253.95000000001 + - null + - 15696.93 + - null + - 2654.63 + - null + - 18.7 + - null + - 4983.36 + - null + - 10279.68 + - null + - 57411.81 + - null + - 10012.02 + - null + - 5219.91 + - null + - 1840.64 + - null + - 1384.3899999999999 + - null + - 1444.77 + - null + - 1328.9699999999998 + - null + - 4465.110000000001 + - null + - 8360.6 + - null + - 6219.379999999999 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_1 + paging: + count: + - 4 + - 96 + offset: + - 0 + - 0 + total: + - 4 + - 96 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0a819ddf91ace12b02b33684888816c204715df6/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2322' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 0a819ddf91ace12b02b33684888816c204715df6 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - product_category + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - region + - state + - measureGroup + sorting: [] + totals: + - localIdentifier: grand_total1 + function: SUM + metric: price + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - region + - state + - measureGroup + - localIdentifier: grand_total2 + function: MAX + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - region + - state + - measureGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/0a819ddf91ace12b02b33684888816c204715df6?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '22935' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - 963.25 + - 1190.44 + - 1858.1 + - 2263.12 + - 802.06 + - 882.27 + - 989.47 + - 1104.14 + - 1915.46 + - 2369.61 + - 2065.18 + - 2541.12 + - 586.37 + - 742.46 + - 102.03 + - 102.03 + - 3463.82 + - 4467.47 + - 236.34 + - 393.47 + - 1869.53 + - 2146.81 + - 871.42 + - 1014.93 + - 955.93 + - 1055.56 + - 220.46 + - 360.16 + - 1007.04 + - 1129.66 + - 5004.64 + - 6162.98 + - 1677.18 + - 2310.61 + - 652.4 + - 712.22 + - 527.93 + - 738.82 + - 541.01 + - 717.46 + - 2518.14 + - 3019.08 + - 8476.07 + - 10448.66 + - 1973.23 + - 2601.99 + - 1304.99 + - 1671.49 + - 1274.22 + - 1368.62 + - 1558.28 + - 1952.49 + - 408.96 + - 646.74 + - 1802.4 + - 2176.17 + - 772.05 + - 1048.43 + - 1096.89 + - 1259.77 + - 1585.4 + - 1995.05 + - 9041.19 + - 11279.19 + - 3201.61 + - 3617.53 + - 571.06 + - 681.94 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 2294.87 + - 2725.93 + - 11367.24 + - 13561.15 + - 1478.95 + - 1514.89 + - 638.98 + - 893.14 + - 316.43 + - 454.71 + - 597.1 + - 701.11 + - 739.23 + - 969.9 + - 462.58 + - 523.96 + - 1213.9 + - 1575.07 + - 1069.48 + - 1394.01 + - 978.06 + - 1225.73 + - - 1936.08 + - 2325.5 + - 1115.49 + - 1178.01 + - 1819.59 + - 2474.87 + - 603.3 + - 674.41 + - 1581.46 + - 1767.83 + - 2329.01 + - 2826.18 + - 1512.2 + - 1961.18 + - 770.11 + - 770.11 + - 60.78 + - 60.78 + - 3532.76 + - 4133.16 + - 184.82 + - 281.19 + - 1813.39 + - 2638.54 + - 887.3 + - 1048.14 + - 1051.5 + - 1729.45 + - null + - null + - 537.52 + - 725.32 + - 4631.73 + - 6433.78 + - 1746.76 + - 2306.18 + - 949.42 + - 1198.83 + - 316.18 + - 422.57 + - 906.16 + - 906.16 + - 3262.11 + - 3945.61 + - 8258.54 + - 10548.47 + - 1805.62 + - 2152.51 + - 1039.04 + - 1153.3 + - 1727.11 + - 1943.0 + - 952.3 + - 1226.85 + - 549.99 + - 790.98 + - 1450.21 + - 1686.28 + - 876.39 + - 876.39 + - 541.59 + - 541.59 + - 1291.99 + - 1291.99 + - 8688.2 + - 10307.9 + - 2547.68 + - 2863.09 + - 750.01 + - 750.01 + - null + - null + - 869.41 + - 890.67 + - 2170.62 + - 2380.37 + - 11524.88 + - 13729.96 + - 1839.72 + - 2325.39 + - 758.13 + - 758.13 + - 299.91 + - 383.62 + - 596.79 + - 596.79 + - 567.73 + - 893.17 + - 540.36 + - 540.36 + - 676.67 + - 1173.63 + - 1244.55 + - 1429.29 + - 925.18 + - 1010.03 + - - 1644.01 + - 1667.22 + - 286.41 + - 286.41 + - 1491.35 + - 1491.35 + - 749.37 + - 864.05 + - 1817.19 + - 2663.57 + - 1264.88 + - 1311.02 + - 1922.63 + - 2653.67 + - 535.43 + - 535.43 + - 13.9 + - 13.9 + - 2498.84 + - 3377.52 + - 218.89 + - 218.89 + - 1321.08 + - 1684.95 + - 594.45 + - 594.45 + - 418.92 + - 418.92 + - 161.73 + - 161.73 + - 356.46 + - 356.46 + - 3316.02 + - 3995.11 + - 952.05 + - 1078.41 + - 759.31 + - 927.48 + - 454.73 + - 454.73 + - 437.49 + - 556.68 + - 3018.14 + - 3554.04 + - 5960.21 + - 6688.79 + - 1053.23 + - 1294.96 + - 311.97 + - 311.97 + - 1324.48 + - 1749.62 + - 1563.19 + - 2208.04 + - 174.34 + - 174.34 + - 1567.11 + - 1704.0 + - 771.44 + - 858.2 + - 612.65 + - 612.65 + - 616.68 + - 616.68 + - 7196.91 + - 8293.87 + - 2806.15 + - 3446.67 + - 810.47 + - 1176.32 + - null + - null + - 659.24 + - 926.38 + - 2137.33 + - 2158.09 + - 8522.94 + - 9700.71 + - 1030.04 + - 1366.28 + - 396.08 + - 396.08 + - 96.27 + - 178.1 + - 190.5 + - 373.65 + - 137.81 + - 172.97 + - 326.03 + - 440.93 + - 801.92 + - 801.92 + - 835.05 + - 835.05 + - 528.25 + - 973.49 + - - 3205.41 + - 3205.41 + - 3617.55 + - 3939.72 + - 3298.64 + - 3542.07 + - 2349.06 + - 2349.06 + - 3357.3 + - 5617.86 + - 2679.78 + - 3157.96 + - 3046.57 + - 3763.37 + - 666.19 + - 666.19 + - null + - null + - 4076.75 + - 7939.25 + - null + - null + - 5646.42 + - 5646.42 + - 538.99 + - 538.99 + - 1624.52 + - 1624.52 + - null + - null + - 231.84 + - 231.84 + - 8734.63 + - 13727.01 + - 9179.44 + - 9706.62 + - 3837.42 + - 3837.42 + - 3384.84 + - 3384.84 + - 1355.06 + - 1355.06 + - 7595.78 + - 7595.78 + - 19294.85 + - 25807.35 + - 5033.19 + - 5985.75 + - 223.09 + - 446.18 + - 2185.98 + - 2185.98 + - 4344.16 + - 6919.63 + - 2834.07 + - 2834.07 + - 4056.46 + - 4879.18 + - 6328.89 + - 6328.89 + - 1184.6 + - 1184.6 + - 1649.85 + - 1886.52 + - 19327.65 + - 22670.23 + - 7141.49 + - 7397.6 + - 523.09 + - 523.09 + - null + - null + - 2664.71 + - 2664.71 + - 3676.86 + - 3676.86 + - 25996.75 + - 30393.45 + - 5663.31 + - 5663.31 + - 3426.72 + - 3426.72 + - 1128.03 + - 3384.09 + - null + - null + - null + - null + - null + - null + - 1772.62 + - 2074.55 + - 5211.52 + - 6042.93 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: + - data: + - - null + - 3205.41 + - null + - 3939.72 + - null + - 3542.07 + - null + - 2349.06 + - null + - 5617.86 + - null + - 3157.96 + - null + - 3763.37 + - null + - 770.11 + - null + - 102.03 + - null + - 7939.25 + - null + - 393.47 + - null + - 5646.42 + - null + - 1048.14 + - null + - 1729.45 + - null + - 360.16 + - null + - 1129.66 + - null + - 13727.01 + - null + - 9706.62 + - null + - 3837.42 + - null + - 3384.84 + - null + - 1355.06 + - null + - 7595.78 + - null + - 25807.35 + - null + - 5985.75 + - null + - 1671.49 + - null + - 2185.98 + - null + - 6919.63 + - null + - 2834.07 + - null + - 4879.18 + - null + - 6328.89 + - null + - 1259.77 + - null + - 1995.05 + - null + - 22670.23 + - null + - 7397.6 + - null + - 1176.32 + - null + - 18.7 + - null + - 2664.71 + - null + - 3676.86 + - null + - 30393.45 + - null + - 5663.31 + - null + - 3426.72 + - null + - 3384.09 + - null + - 701.11 + - null + - 969.9 + - null + - 540.36 + - null + - 2074.55 + - null + - 6042.93 + - null + - 4246.86 + - - 8804.49 + - null + - 5982.7 + - null + - 8467.68 + - null + - 4503.79 + - null + - 7745.42 + - null + - 8189.130000000001 + - null + - 8546.58 + - null + - 2558.1 + - null + - 176.71 + - null + - 13572.17 + - null + - 640.05 + - null + - 10650.42 + - null + - 2892.16 + - null + - 4050.87 + - null + - 382.19 + - null + - 2132.86 + - null + - 21687.019999999997 + - null + - 13555.43 + - null + - 6198.55 + - null + - 4683.68 + - null + - 3239.7200000000003 + - null + - 16394.17 + - null + - 41989.67 + - null + - 9865.269999999999 + - null + - 2879.09 + - null + - 6511.790000000001 + - null + - 8417.93 + - null + - 3967.36 + - null + - 8876.18 + - null + - 8748.77 + - null + - 3435.73 + - null + - 5143.92 + - null + - 44253.95000000001 + - null + - 15696.93 + - null + - 2654.63 + - null + - 18.7 + - null + - 4983.36 + - null + - 10279.68 + - null + - 57411.81 + - null + - 10012.02 + - null + - 5219.91 + - null + - 1840.64 + - null + - 1384.3899999999999 + - null + - 1444.77 + - null + - 1328.9699999999998 + - null + - 4465.110000000001 + - null + - 8360.6 + - null + - 6219.379999999999 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_1 + paging: + count: + - 4 + - 96 + offset: + - 0 + - 0 + total: + - 4 + - 96 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml new file mode 100644 index 000000000..c3c55add1 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals2.yaml @@ -0,0 +1,5405 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - region + - product_category + localIdentifier: dim_0 + - itemIdentifiers: + - state + - measureGroup + localIdentifier: dim_1 + totals: + - function: SUM + localIdentifier: grand_total1 + metric: price + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - state + - measureGroup + - function: MAX + localIdentifier: grand_total2 + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - state + - measureGroup + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 5ea6548eea1a35be375564509717deded69f5f48 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5ea6548eea1a35be375564509717deded69f5f48?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24559' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 2018.99 + - 2535.21 + - 963.25 + - 1190.44 + - 1858.1 + - 2263.12 + - 802.06 + - 882.27 + - null + - null + - null + - null + - null + - null + - null + - null + - 989.47 + - 1104.14 + - 1915.46 + - 2369.61 + - null + - null + - 2065.18 + - 2541.12 + - null + - null + - 586.37 + - 742.46 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 102.03 + - 102.03 + - 3463.82 + - 4467.47 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 236.34 + - 393.47 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1869.53 + - 2146.81 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1936.08 + - 2325.5 + - 1115.49 + - 1178.01 + - 1819.59 + - 2474.87 + - 603.3 + - 674.41 + - null + - null + - null + - null + - null + - null + - null + - null + - 1581.46 + - 1767.83 + - 2329.01 + - 2826.18 + - null + - null + - 1512.2 + - 1961.18 + - null + - null + - 770.11 + - 770.11 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 60.78 + - 60.78 + - 3532.76 + - 4133.16 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 184.82 + - 281.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1813.39 + - 2638.54 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1644.01 + - 1667.22 + - 286.41 + - 286.41 + - 1491.35 + - 1491.35 + - 749.37 + - 864.05 + - null + - null + - null + - null + - null + - null + - null + - null + - 1817.19 + - 2663.57 + - 1264.88 + - 1311.02 + - null + - null + - 1922.63 + - 2653.67 + - null + - null + - 535.43 + - 535.43 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 13.9 + - 13.9 + - 2498.84 + - 3377.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 218.89 + - 218.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1321.08 + - 1684.95 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 3205.41 + - 3205.41 + - 3617.55 + - 3939.72 + - 3298.64 + - 3542.07 + - 2349.06 + - 2349.06 + - null + - null + - null + - null + - null + - null + - null + - null + - 3357.3 + - 5617.86 + - 2679.78 + - 3157.96 + - null + - null + - 3046.57 + - 3763.37 + - null + - null + - 666.19 + - 666.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 4076.75 + - 7939.25 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 5646.42 + - 5646.42 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 871.42 + - 1014.93 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 955.93 + - 1055.56 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 220.46 + - 360.16 + - 1007.04 + - 1129.66 + - null + - null + - 5004.64 + - 6162.98 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1677.18 + - 2310.61 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 887.3 + - 1048.14 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1051.5 + - 1729.45 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 537.52 + - 725.32 + - null + - null + - 4631.73 + - 6433.78 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1746.76 + - 2306.18 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 594.45 + - 594.45 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 418.92 + - 418.92 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 161.73 + - 161.73 + - 356.46 + - 356.46 + - null + - null + - 3316.02 + - 3995.11 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 952.05 + - 1078.41 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 538.99 + - 538.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1624.52 + - 1624.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 231.84 + - 231.84 + - null + - null + - 8734.63 + - 13727.01 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 9179.44 + - 9706.62 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 652.4 + - 712.22 + - null + - null + - null + - null + - 527.93 + - 738.82 + - null + - null + - null + - null + - null + - null + - 541.01 + - 717.46 + - 2518.14 + - 3019.08 + - 8476.07 + - 10448.66 + - 1973.23 + - 2601.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1304.99 + - 1671.49 + - 1274.22 + - 1368.62 + - 1558.28 + - 1952.49 + - null + - null + - null + - null + - null + - null + - 408.96 + - 646.74 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1802.4 + - 2176.17 + - null + - null + - null + - null + - 772.05 + - 1048.43 + - null + - null + - null + - null + - null + - null + - 1096.89 + - 1259.77 + - null + - null + - 1585.4 + - 1995.05 + - 9041.19 + - 11279.19 + - null + - null + - 3201.61 + - 3617.53 + - null + - null + - 571.06 + - 681.94 + - null + - null + - - 949.42 + - 1198.83 + - null + - null + - null + - null + - 316.18 + - 422.57 + - null + - null + - null + - null + - null + - null + - 906.16 + - 906.16 + - 3262.11 + - 3945.61 + - 8258.54 + - 10548.47 + - 1805.62 + - 2152.51 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1039.04 + - 1153.3 + - 1727.11 + - 1943.0 + - 952.3 + - 1226.85 + - null + - null + - null + - null + - null + - null + - 549.99 + - 790.98 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1450.21 + - 1686.28 + - null + - null + - null + - null + - 876.39 + - 876.39 + - null + - null + - null + - null + - null + - null + - 541.59 + - 541.59 + - null + - null + - 1291.99 + - 1291.99 + - 8688.2 + - 10307.9 + - null + - null + - 2547.68 + - 2863.09 + - null + - null + - 750.01 + - 750.01 + - null + - null + - - 759.31 + - 927.48 + - null + - null + - null + - null + - 454.73 + - 454.73 + - null + - null + - null + - null + - null + - null + - 437.49 + - 556.68 + - 3018.14 + - 3554.04 + - 5960.21 + - 6688.79 + - 1053.23 + - 1294.96 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 311.97 + - 311.97 + - 1324.48 + - 1749.62 + - 1563.19 + - 2208.04 + - null + - null + - null + - null + - null + - null + - 174.34 + - 174.34 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1567.11 + - 1704.0 + - null + - null + - null + - null + - 771.44 + - 858.2 + - null + - null + - null + - null + - null + - null + - 612.65 + - 612.65 + - null + - null + - 616.68 + - 616.68 + - 7196.91 + - 8293.87 + - null + - null + - 2806.15 + - 3446.67 + - null + - null + - 810.47 + - 1176.32 + - null + - null + - - 3837.42 + - 3837.42 + - null + - null + - null + - null + - 3384.84 + - 3384.84 + - null + - null + - null + - null + - null + - null + - 1355.06 + - 1355.06 + - 7595.78 + - 7595.78 + - 19294.85 + - 25807.35 + - 5033.19 + - 5985.75 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 223.09 + - 446.18 + - 2185.98 + - 2185.98 + - 4344.16 + - 6919.63 + - null + - null + - null + - null + - null + - null + - 2834.07 + - 2834.07 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 4056.46 + - 4879.18 + - null + - null + - null + - null + - 6328.89 + - 6328.89 + - null + - null + - null + - null + - null + - null + - 1184.6 + - 1184.6 + - null + - null + - 1649.85 + - 1886.52 + - 19327.65 + - 22670.23 + - null + - null + - 7141.49 + - 7397.6 + - null + - null + - 523.09 + - 523.09 + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 18.7 + - 18.7 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - 790.0 + - 963.08 + - 2294.87 + - 2725.93 + - null + - null + - 11367.24 + - 13561.15 + - 1478.95 + - 1514.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 638.98 + - 893.14 + - 316.43 + - 454.71 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 597.1 + - 701.11 + - null + - null + - 739.23 + - 969.9 + - null + - null + - null + - null + - 462.58 + - 523.96 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1213.9 + - 1575.07 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1069.48 + - 1394.01 + - null + - null + - 978.06 + - 1225.73 + - null + - null + - null + - null + - - null + - null + - 869.41 + - 890.67 + - 2170.62 + - 2380.37 + - null + - null + - 11524.88 + - 13729.96 + - 1839.72 + - 2325.39 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 758.13 + - 758.13 + - 299.91 + - 383.62 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 596.79 + - 596.79 + - null + - null + - 567.73 + - 893.17 + - null + - null + - null + - null + - 540.36 + - 540.36 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 676.67 + - 1173.63 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1244.55 + - 1429.29 + - null + - null + - 925.18 + - 1010.03 + - null + - null + - null + - null + - - null + - null + - 659.24 + - 926.38 + - 2137.33 + - 2158.09 + - null + - null + - 8522.94 + - 9700.71 + - 1030.04 + - 1366.28 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 396.08 + - 396.08 + - 96.27 + - 178.1 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 190.5 + - 373.65 + - null + - null + - 137.81 + - 172.97 + - null + - null + - null + - null + - 326.03 + - 440.93 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 801.92 + - 801.92 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 835.05 + - 835.05 + - null + - null + - 528.25 + - 973.49 + - null + - null + - null + - null + - - null + - null + - 2664.71 + - 2664.71 + - 3676.86 + - 3676.86 + - null + - null + - 25996.75 + - 30393.45 + - 5663.31 + - 5663.31 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 3426.72 + - 3426.72 + - 1128.03 + - 3384.09 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1772.62 + - 2074.55 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 5211.52 + - 6042.93 + - null + - null + - 3787.89 + - 4246.86 + - null + - null + - null + - null + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: + - data: + - - null + - 3837.42 + - null + - 2664.71 + - null + - 3676.86 + - null + - 3384.84 + - null + - 30393.45 + - null + - 5663.31 + - null + - 1048.14 + - null + - 1355.06 + - null + - 7595.78 + - null + - 25807.35 + - null + - 5985.75 + - null + - 3426.72 + - null + - 3384.09 + - null + - 3205.41 + - null + - 3939.72 + - null + - 3542.07 + - null + - 2349.06 + - null + - 1671.49 + - null + - 2185.98 + - null + - 6919.63 + - null + - 1729.45 + - null + - 5617.86 + - null + - 3157.96 + - null + - 2834.07 + - null + - 3763.37 + - null + - 701.11 + - null + - 770.11 + - null + - 969.9 + - null + - 360.16 + - null + - 1129.66 + - null + - 540.36 + - null + - 13727.01 + - null + - 4879.18 + - null + - 102.03 + - null + - 7939.25 + - null + - 6328.89 + - null + - 2074.55 + - null + - 9706.62 + - null + - 18.7 + - null + - 1259.77 + - null + - 393.47 + - null + - 1995.05 + - null + - 22670.23 + - null + - 6042.93 + - null + - 7397.6 + - null + - 4246.86 + - null + - 1176.32 + - null + - 5646.42 + - - 6198.55 + - null + - 4983.36 + - null + - 10279.68 + - null + - 4683.68 + - null + - 57411.81 + - null + - 10012.02 + - null + - 2892.16 + - null + - 3239.7200000000003 + - null + - 16394.17 + - null + - 41989.67 + - null + - 9865.269999999999 + - null + - 5219.91 + - null + - 1840.64 + - null + - 8804.49 + - null + - 5982.7 + - null + - 8467.68 + - null + - 4503.79 + - null + - 2879.09 + - null + - 6511.790000000001 + - null + - 8417.93 + - null + - 4050.87 + - null + - 7745.42 + - null + - 8189.130000000001 + - null + - 3967.36 + - null + - 8546.58 + - null + - 1384.3899999999999 + - null + - 2558.1 + - null + - 1444.77 + - null + - 382.19 + - null + - 2132.86 + - null + - 1328.9699999999998 + - null + - 21687.019999999997 + - null + - 8876.18 + - null + - 176.71 + - null + - 13572.17 + - null + - 8748.77 + - null + - 4465.110000000001 + - null + - 13555.43 + - null + - 18.7 + - null + - 3435.73 + - null + - 640.05 + - null + - 5143.92 + - null + - 44253.95000000001 + - null + - 8360.6 + - null + - 15696.93 + - null + - 6219.379999999999 + - null + - 2654.63 + - null + - 10650.42 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_1 + paging: + count: + - 17 + - 96 + offset: + - 0 + - 0 + total: + - 17 + - 96 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5ea6548eea1a35be375564509717deded69f5f48/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2304' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 5ea6548eea1a35be375564509717deded69f5f48 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - region + - product_category + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - state + - measureGroup + sorting: [] + totals: + - localIdentifier: grand_total1 + function: SUM + metric: price + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - state + - measureGroup + - localIdentifier: grand_total2 + function: MAX + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_1 + totalDimensionItems: + - state + - measureGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5ea6548eea1a35be375564509717deded69f5f48?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24559' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 2018.99 + - 2535.21 + - 963.25 + - 1190.44 + - 1858.1 + - 2263.12 + - 802.06 + - 882.27 + - null + - null + - null + - null + - null + - null + - null + - null + - 989.47 + - 1104.14 + - 1915.46 + - 2369.61 + - null + - null + - 2065.18 + - 2541.12 + - null + - null + - 586.37 + - 742.46 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 102.03 + - 102.03 + - 3463.82 + - 4467.47 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 236.34 + - 393.47 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1869.53 + - 2146.81 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1936.08 + - 2325.5 + - 1115.49 + - 1178.01 + - 1819.59 + - 2474.87 + - 603.3 + - 674.41 + - null + - null + - null + - null + - null + - null + - null + - null + - 1581.46 + - 1767.83 + - 2329.01 + - 2826.18 + - null + - null + - 1512.2 + - 1961.18 + - null + - null + - 770.11 + - 770.11 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 60.78 + - 60.78 + - 3532.76 + - 4133.16 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 184.82 + - 281.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1813.39 + - 2638.54 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1644.01 + - 1667.22 + - 286.41 + - 286.41 + - 1491.35 + - 1491.35 + - 749.37 + - 864.05 + - null + - null + - null + - null + - null + - null + - null + - null + - 1817.19 + - 2663.57 + - 1264.88 + - 1311.02 + - null + - null + - 1922.63 + - 2653.67 + - null + - null + - 535.43 + - 535.43 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 13.9 + - 13.9 + - 2498.84 + - 3377.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 218.89 + - 218.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1321.08 + - 1684.95 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 3205.41 + - 3205.41 + - 3617.55 + - 3939.72 + - 3298.64 + - 3542.07 + - 2349.06 + - 2349.06 + - null + - null + - null + - null + - null + - null + - null + - null + - 3357.3 + - 5617.86 + - 2679.78 + - 3157.96 + - null + - null + - 3046.57 + - 3763.37 + - null + - null + - 666.19 + - 666.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 4076.75 + - 7939.25 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 5646.42 + - 5646.42 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 871.42 + - 1014.93 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 955.93 + - 1055.56 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 220.46 + - 360.16 + - 1007.04 + - 1129.66 + - null + - null + - 5004.64 + - 6162.98 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1677.18 + - 2310.61 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 887.3 + - 1048.14 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1051.5 + - 1729.45 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 537.52 + - 725.32 + - null + - null + - 4631.73 + - 6433.78 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1746.76 + - 2306.18 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 594.45 + - 594.45 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 418.92 + - 418.92 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 161.73 + - 161.73 + - 356.46 + - 356.46 + - null + - null + - 3316.02 + - 3995.11 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 952.05 + - 1078.41 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 538.99 + - 538.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1624.52 + - 1624.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 231.84 + - 231.84 + - null + - null + - 8734.63 + - 13727.01 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 9179.44 + - 9706.62 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 652.4 + - 712.22 + - null + - null + - null + - null + - 527.93 + - 738.82 + - null + - null + - null + - null + - null + - null + - 541.01 + - 717.46 + - 2518.14 + - 3019.08 + - 8476.07 + - 10448.66 + - 1973.23 + - 2601.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1304.99 + - 1671.49 + - 1274.22 + - 1368.62 + - 1558.28 + - 1952.49 + - null + - null + - null + - null + - null + - null + - 408.96 + - 646.74 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1802.4 + - 2176.17 + - null + - null + - null + - null + - 772.05 + - 1048.43 + - null + - null + - null + - null + - null + - null + - 1096.89 + - 1259.77 + - null + - null + - 1585.4 + - 1995.05 + - 9041.19 + - 11279.19 + - null + - null + - 3201.61 + - 3617.53 + - null + - null + - 571.06 + - 681.94 + - null + - null + - - 949.42 + - 1198.83 + - null + - null + - null + - null + - 316.18 + - 422.57 + - null + - null + - null + - null + - null + - null + - 906.16 + - 906.16 + - 3262.11 + - 3945.61 + - 8258.54 + - 10548.47 + - 1805.62 + - 2152.51 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1039.04 + - 1153.3 + - 1727.11 + - 1943.0 + - 952.3 + - 1226.85 + - null + - null + - null + - null + - null + - null + - 549.99 + - 790.98 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1450.21 + - 1686.28 + - null + - null + - null + - null + - 876.39 + - 876.39 + - null + - null + - null + - null + - null + - null + - 541.59 + - 541.59 + - null + - null + - 1291.99 + - 1291.99 + - 8688.2 + - 10307.9 + - null + - null + - 2547.68 + - 2863.09 + - null + - null + - 750.01 + - 750.01 + - null + - null + - - 759.31 + - 927.48 + - null + - null + - null + - null + - 454.73 + - 454.73 + - null + - null + - null + - null + - null + - null + - 437.49 + - 556.68 + - 3018.14 + - 3554.04 + - 5960.21 + - 6688.79 + - 1053.23 + - 1294.96 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 311.97 + - 311.97 + - 1324.48 + - 1749.62 + - 1563.19 + - 2208.04 + - null + - null + - null + - null + - null + - null + - 174.34 + - 174.34 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1567.11 + - 1704.0 + - null + - null + - null + - null + - 771.44 + - 858.2 + - null + - null + - null + - null + - null + - null + - 612.65 + - 612.65 + - null + - null + - 616.68 + - 616.68 + - 7196.91 + - 8293.87 + - null + - null + - 2806.15 + - 3446.67 + - null + - null + - 810.47 + - 1176.32 + - null + - null + - - 3837.42 + - 3837.42 + - null + - null + - null + - null + - 3384.84 + - 3384.84 + - null + - null + - null + - null + - null + - null + - 1355.06 + - 1355.06 + - 7595.78 + - 7595.78 + - 19294.85 + - 25807.35 + - 5033.19 + - 5985.75 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 223.09 + - 446.18 + - 2185.98 + - 2185.98 + - 4344.16 + - 6919.63 + - null + - null + - null + - null + - null + - null + - 2834.07 + - 2834.07 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 4056.46 + - 4879.18 + - null + - null + - null + - null + - 6328.89 + - 6328.89 + - null + - null + - null + - null + - null + - null + - 1184.6 + - 1184.6 + - null + - null + - 1649.85 + - 1886.52 + - 19327.65 + - 22670.23 + - null + - null + - 7141.49 + - 7397.6 + - null + - null + - 523.09 + - 523.09 + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 18.7 + - 18.7 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - 790.0 + - 963.08 + - 2294.87 + - 2725.93 + - null + - null + - 11367.24 + - 13561.15 + - 1478.95 + - 1514.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 638.98 + - 893.14 + - 316.43 + - 454.71 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 597.1 + - 701.11 + - null + - null + - 739.23 + - 969.9 + - null + - null + - null + - null + - 462.58 + - 523.96 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1213.9 + - 1575.07 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1069.48 + - 1394.01 + - null + - null + - 978.06 + - 1225.73 + - null + - null + - null + - null + - - null + - null + - 869.41 + - 890.67 + - 2170.62 + - 2380.37 + - null + - null + - 11524.88 + - 13729.96 + - 1839.72 + - 2325.39 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 758.13 + - 758.13 + - 299.91 + - 383.62 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 596.79 + - 596.79 + - null + - null + - 567.73 + - 893.17 + - null + - null + - null + - null + - 540.36 + - 540.36 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 676.67 + - 1173.63 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1244.55 + - 1429.29 + - null + - null + - 925.18 + - 1010.03 + - null + - null + - null + - null + - - null + - null + - 659.24 + - 926.38 + - 2137.33 + - 2158.09 + - null + - null + - 8522.94 + - 9700.71 + - 1030.04 + - 1366.28 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 396.08 + - 396.08 + - 96.27 + - 178.1 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 190.5 + - 373.65 + - null + - null + - 137.81 + - 172.97 + - null + - null + - null + - null + - 326.03 + - 440.93 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 801.92 + - 801.92 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 835.05 + - 835.05 + - null + - null + - 528.25 + - 973.49 + - null + - null + - null + - null + - - null + - null + - 2664.71 + - 2664.71 + - 3676.86 + - 3676.86 + - null + - null + - 25996.75 + - 30393.45 + - 5663.31 + - 5663.31 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 3426.72 + - 3426.72 + - 1128.03 + - 3384.09 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1772.62 + - 2074.55 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 5211.52 + - 6042.93 + - null + - null + - 3787.89 + - 4246.86 + - null + - null + - null + - null + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: + - data: + - - null + - 3837.42 + - null + - 2664.71 + - null + - 3676.86 + - null + - 3384.84 + - null + - 30393.45 + - null + - 5663.31 + - null + - 1048.14 + - null + - 1355.06 + - null + - 7595.78 + - null + - 25807.35 + - null + - 5985.75 + - null + - 3426.72 + - null + - 3384.09 + - null + - 3205.41 + - null + - 3939.72 + - null + - 3542.07 + - null + - 2349.06 + - null + - 1671.49 + - null + - 2185.98 + - null + - 6919.63 + - null + - 1729.45 + - null + - 5617.86 + - null + - 3157.96 + - null + - 2834.07 + - null + - 3763.37 + - null + - 701.11 + - null + - 770.11 + - null + - 969.9 + - null + - 360.16 + - null + - 1129.66 + - null + - 540.36 + - null + - 13727.01 + - null + - 4879.18 + - null + - 102.03 + - null + - 7939.25 + - null + - 6328.89 + - null + - 2074.55 + - null + - 9706.62 + - null + - 18.7 + - null + - 1259.77 + - null + - 393.47 + - null + - 1995.05 + - null + - 22670.23 + - null + - 6042.93 + - null + - 7397.6 + - null + - 4246.86 + - null + - 1176.32 + - null + - 5646.42 + - - 6198.55 + - null + - 4983.36 + - null + - 10279.68 + - null + - 4683.68 + - null + - 57411.81 + - null + - 10012.02 + - null + - 2892.16 + - null + - 3239.7200000000003 + - null + - 16394.17 + - null + - 41989.67 + - null + - 9865.269999999999 + - null + - 5219.91 + - null + - 1840.64 + - null + - 8804.49 + - null + - 5982.7 + - null + - 8467.68 + - null + - 4503.79 + - null + - 2879.09 + - null + - 6511.790000000001 + - null + - 8417.93 + - null + - 4050.87 + - null + - 7745.42 + - null + - 8189.130000000001 + - null + - 3967.36 + - null + - 8546.58 + - null + - 1384.3899999999999 + - null + - 2558.1 + - null + - 1444.77 + - null + - 382.19 + - null + - 2132.86 + - null + - 1328.9699999999998 + - null + - 21687.019999999997 + - null + - 8876.18 + - null + - 176.71 + - null + - 13572.17 + - null + - 8748.77 + - null + - 4465.110000000001 + - null + - 13555.43 + - null + - 18.7 + - null + - 3435.73 + - null + - 640.05 + - null + - 5143.92 + - null + - 44253.95000000001 + - null + - 8360.6 + - null + - 15696.93 + - null + - 6219.379999999999 + - null + - 2654.63 + - null + - 10650.42 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_1 + paging: + count: + - 17 + - 96 + offset: + - 0 + - 0 + total: + - 17 + - 96 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml new file mode 100644 index 000000000..792e806f3 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals3.yaml @@ -0,0 +1,3299 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - region + - state + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - product_category + localIdentifier: dim_1 + totals: + - function: SUM + localIdentifier: grand_total1 + metric: price + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - region + - state + - measureGroup + - function: MAX + localIdentifier: grand_total2 + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - region + - state + - measureGroup + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 7a8c6bac80d7c504d4919d212fd5fbfacab048af + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7a8c6bac80d7c504d4919d212fd5fbfacab048af?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '23307' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 1936.08 + - 1644.01 + - 3205.41 + - - 2535.21 + - 2325.5 + - 1667.22 + - 3205.41 + - - 963.25 + - 1115.49 + - 286.41 + - 3617.55 + - - 1190.44 + - 1178.01 + - 286.41 + - 3939.72 + - - 1858.1 + - 1819.59 + - 1491.35 + - 3298.64 + - - 2263.12 + - 2474.87 + - 1491.35 + - 3542.07 + - - 802.06 + - 603.3 + - 749.37 + - 2349.06 + - - 882.27 + - 674.41 + - 864.05 + - 2349.06 + - - 989.47 + - 1581.46 + - 1817.19 + - 3357.3 + - - 1104.14 + - 1767.83 + - 2663.57 + - 5617.86 + - - 1915.46 + - 2329.01 + - 1264.88 + - 2679.78 + - - 2369.61 + - 2826.18 + - 1311.02 + - 3157.96 + - - 2065.18 + - 1512.2 + - 1922.63 + - 3046.57 + - - 2541.12 + - 1961.18 + - 2653.67 + - 3763.37 + - - 586.37 + - 770.11 + - 535.43 + - 666.19 + - - 742.46 + - 770.11 + - 535.43 + - 666.19 + - - 102.03 + - 60.78 + - 13.9 + - null + - - 102.03 + - 60.78 + - 13.9 + - null + - - 3463.82 + - 3532.76 + - 2498.84 + - 4076.75 + - - 4467.47 + - 4133.16 + - 3377.52 + - 7939.25 + - - 236.34 + - 184.82 + - 218.89 + - null + - - 393.47 + - 281.19 + - 218.89 + - null + - - 1869.53 + - 1813.39 + - 1321.08 + - 5646.42 + - - 2146.81 + - 2638.54 + - 1684.95 + - 5646.42 + - - 871.42 + - 887.3 + - 594.45 + - 538.99 + - - 1014.93 + - 1048.14 + - 594.45 + - 538.99 + - - 955.93 + - 1051.5 + - 418.92 + - 1624.52 + - - 1055.56 + - 1729.45 + - 418.92 + - 1624.52 + - - 220.46 + - null + - 161.73 + - null + - - 360.16 + - null + - 161.73 + - null + - - 1007.04 + - 537.52 + - 356.46 + - 231.84 + - - 1129.66 + - 725.32 + - 356.46 + - 231.84 + - - 5004.64 + - 4631.73 + - 3316.02 + - 8734.63 + - - 6162.98 + - 6433.78 + - 3995.11 + - 13727.01 + - - 1677.18 + - 1746.76 + - 952.05 + - 9179.44 + - - 2310.61 + - 2306.18 + - 1078.41 + - 9706.62 + - - 652.4 + - 949.42 + - 759.31 + - 3837.42 + - - 712.22 + - 1198.83 + - 927.48 + - 3837.42 + - - 527.93 + - 316.18 + - 454.73 + - 3384.84 + - - 738.82 + - 422.57 + - 454.73 + - 3384.84 + - - 541.01 + - 906.16 + - 437.49 + - 1355.06 + - - 717.46 + - 906.16 + - 556.68 + - 1355.06 + - - 2518.14 + - 3262.11 + - 3018.14 + - 7595.78 + - - 3019.08 + - 3945.61 + - 3554.04 + - 7595.78 + - - 8476.07 + - 8258.54 + - 5960.21 + - 19294.85 + - - 10448.66 + - 10548.47 + - 6688.79 + - 25807.35 + - - 1973.23 + - 1805.62 + - 1053.23 + - 5033.19 + - - 2601.99 + - 2152.51 + - 1294.96 + - 5985.75 + - - 1304.99 + - 1039.04 + - 311.97 + - 223.09 + - - 1671.49 + - 1153.3 + - 311.97 + - 446.18 + - - 1274.22 + - 1727.11 + - 1324.48 + - 2185.98 + - - 1368.62 + - 1943.0 + - 1749.62 + - 2185.98 + - - 1558.28 + - 952.3 + - 1563.19 + - 4344.16 + - - 1952.49 + - 1226.85 + - 2208.04 + - 6919.63 + - - 408.96 + - 549.99 + - 174.34 + - 2834.07 + - - 646.74 + - 790.98 + - 174.34 + - 2834.07 + - - 1802.4 + - 1450.21 + - 1567.11 + - 4056.46 + - - 2176.17 + - 1686.28 + - 1704.0 + - 4879.18 + - - 772.05 + - 876.39 + - 771.44 + - 6328.89 + - - 1048.43 + - 876.39 + - 858.2 + - 6328.89 + - - 1096.89 + - 541.59 + - 612.65 + - 1184.6 + - - 1259.77 + - 541.59 + - 612.65 + - 1184.6 + - - 1585.4 + - 1291.99 + - 616.68 + - 1649.85 + - - 1995.05 + - 1291.99 + - 616.68 + - 1886.52 + - - 9041.19 + - 8688.2 + - 7196.91 + - 19327.65 + - - 11279.19 + - 10307.9 + - 8293.87 + - 22670.23 + - - 3201.61 + - 2547.68 + - 2806.15 + - 7141.49 + - - 3617.53 + - 2863.09 + - 3446.67 + - 7397.6 + - - 571.06 + - 750.01 + - 810.47 + - 523.09 + - - 681.94 + - 750.01 + - 1176.32 + - 523.09 + - - 18.7 + - null + - null + - null + - - 18.7 + - null + - null + - null + - - 790.0 + - 869.41 + - 659.24 + - 2664.71 + - - 963.08 + - 890.67 + - 926.38 + - 2664.71 + - - 2294.87 + - 2170.62 + - 2137.33 + - 3676.86 + - - 2725.93 + - 2380.37 + - 2158.09 + - 3676.86 + - - 11367.24 + - 11524.88 + - 8522.94 + - 25996.75 + - - 13561.15 + - 13729.96 + - 9700.71 + - 30393.45 + - - 1478.95 + - 1839.72 + - 1030.04 + - 5663.31 + - - 1514.89 + - 2325.39 + - 1366.28 + - 5663.31 + - - 638.98 + - 758.13 + - 396.08 + - 3426.72 + - - 893.14 + - 758.13 + - 396.08 + - 3426.72 + - - 316.43 + - 299.91 + - 96.27 + - 1128.03 + - - 454.71 + - 383.62 + - 178.1 + - 3384.09 + - - 597.1 + - 596.79 + - 190.5 + - null + - - 701.11 + - 596.79 + - 373.65 + - null + - - 739.23 + - 567.73 + - 137.81 + - null + - - 969.9 + - 893.17 + - 172.97 + - null + - - 462.58 + - 540.36 + - 326.03 + - null + - - 523.96 + - 540.36 + - 440.93 + - null + - - 1213.9 + - 676.67 + - 801.92 + - 1772.62 + - - 1575.07 + - 1173.63 + - 801.92 + - 2074.55 + - - 1069.48 + - 1244.55 + - 835.05 + - 5211.52 + - - 1394.01 + - 1429.29 + - 835.05 + - 6042.93 + - - 978.06 + - 925.18 + - 528.25 + - 3787.89 + - - 1225.73 + - 1010.03 + - 973.49 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: + - data: + - - null + - 8804.49 + - - 3205.41 + - null + - - null + - 5982.7 + - - 3939.72 + - null + - - null + - 8467.68 + - - 3542.07 + - null + - - null + - 4503.79 + - - 2349.06 + - null + - - null + - 7745.42 + - - 5617.86 + - null + - - null + - 8189.130000000001 + - - 3157.96 + - null + - - null + - 8546.58 + - - 3763.37 + - null + - - null + - 2558.1 + - - 770.11 + - null + - - null + - 176.71 + - - 102.03 + - null + - - null + - 13572.17 + - - 7939.25 + - null + - - null + - 640.05 + - - 393.47 + - null + - - null + - 10650.42 + - - 5646.42 + - null + - - null + - 2892.16 + - - 1048.14 + - null + - - null + - 4050.87 + - - 1729.45 + - null + - - null + - 382.19 + - - 360.16 + - null + - - null + - 2132.86 + - - 1129.66 + - null + - - null + - 21687.019999999997 + - - 13727.01 + - null + - - null + - 13555.43 + - - 9706.62 + - null + - - null + - 6198.55 + - - 3837.42 + - null + - - null + - 4683.68 + - - 3384.84 + - null + - - null + - 3239.7200000000003 + - - 1355.06 + - null + - - null + - 16394.17 + - - 7595.78 + - null + - - null + - 41989.67 + - - 25807.35 + - null + - - null + - 9865.269999999999 + - - 5985.75 + - null + - - null + - 2879.09 + - - 1671.49 + - null + - - null + - 6511.790000000001 + - - 2185.98 + - null + - - null + - 8417.93 + - - 6919.63 + - null + - - null + - 3967.36 + - - 2834.07 + - null + - - null + - 8876.18 + - - 4879.18 + - null + - - null + - 8748.77 + - - 6328.89 + - null + - - null + - 3435.73 + - - 1259.77 + - null + - - null + - 5143.92 + - - 1995.05 + - null + - - null + - 44253.95000000001 + - - 22670.23 + - null + - - null + - 15696.93 + - - 7397.6 + - null + - - null + - 2654.63 + - - 1176.32 + - null + - - null + - 18.7 + - - 18.7 + - null + - - null + - 4983.36 + - - 2664.71 + - null + - - null + - 10279.68 + - - 3676.86 + - null + - - null + - 57411.81 + - - 30393.45 + - null + - - null + - 10012.02 + - - 5663.31 + - null + - - null + - 5219.91 + - - 3426.72 + - null + - - null + - 1840.64 + - - 3384.09 + - null + - - null + - 1384.3899999999999 + - - 701.11 + - null + - - null + - 1444.77 + - - 969.9 + - null + - - null + - 1328.9699999999998 + - - 540.36 + - null + - - null + - 4465.110000000001 + - - 2074.55 + - null + - - null + - 8360.6 + - - 6042.93 + - null + - - null + - 6219.379999999999 + - - 4246.86 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_0 + paging: + count: + - 96 + - 4 + offset: + - 0 + - 0 + total: + - 96 + - 4 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7a8c6bac80d7c504d4919d212fd5fbfacab048af/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2322' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 7a8c6bac80d7c504d4919d212fd5fbfacab048af + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - region + - state + - measureGroup + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - product_category + sorting: [] + totals: + - localIdentifier: grand_total1 + function: SUM + metric: price + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - region + - state + - measureGroup + - localIdentifier: grand_total2 + function: MAX + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - region + - state + - measureGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/7a8c6bac80d7c504d4919d212fd5fbfacab048af?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '23307' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 1936.08 + - 1644.01 + - 3205.41 + - - 2535.21 + - 2325.5 + - 1667.22 + - 3205.41 + - - 963.25 + - 1115.49 + - 286.41 + - 3617.55 + - - 1190.44 + - 1178.01 + - 286.41 + - 3939.72 + - - 1858.1 + - 1819.59 + - 1491.35 + - 3298.64 + - - 2263.12 + - 2474.87 + - 1491.35 + - 3542.07 + - - 802.06 + - 603.3 + - 749.37 + - 2349.06 + - - 882.27 + - 674.41 + - 864.05 + - 2349.06 + - - 989.47 + - 1581.46 + - 1817.19 + - 3357.3 + - - 1104.14 + - 1767.83 + - 2663.57 + - 5617.86 + - - 1915.46 + - 2329.01 + - 1264.88 + - 2679.78 + - - 2369.61 + - 2826.18 + - 1311.02 + - 3157.96 + - - 2065.18 + - 1512.2 + - 1922.63 + - 3046.57 + - - 2541.12 + - 1961.18 + - 2653.67 + - 3763.37 + - - 586.37 + - 770.11 + - 535.43 + - 666.19 + - - 742.46 + - 770.11 + - 535.43 + - 666.19 + - - 102.03 + - 60.78 + - 13.9 + - null + - - 102.03 + - 60.78 + - 13.9 + - null + - - 3463.82 + - 3532.76 + - 2498.84 + - 4076.75 + - - 4467.47 + - 4133.16 + - 3377.52 + - 7939.25 + - - 236.34 + - 184.82 + - 218.89 + - null + - - 393.47 + - 281.19 + - 218.89 + - null + - - 1869.53 + - 1813.39 + - 1321.08 + - 5646.42 + - - 2146.81 + - 2638.54 + - 1684.95 + - 5646.42 + - - 871.42 + - 887.3 + - 594.45 + - 538.99 + - - 1014.93 + - 1048.14 + - 594.45 + - 538.99 + - - 955.93 + - 1051.5 + - 418.92 + - 1624.52 + - - 1055.56 + - 1729.45 + - 418.92 + - 1624.52 + - - 220.46 + - null + - 161.73 + - null + - - 360.16 + - null + - 161.73 + - null + - - 1007.04 + - 537.52 + - 356.46 + - 231.84 + - - 1129.66 + - 725.32 + - 356.46 + - 231.84 + - - 5004.64 + - 4631.73 + - 3316.02 + - 8734.63 + - - 6162.98 + - 6433.78 + - 3995.11 + - 13727.01 + - - 1677.18 + - 1746.76 + - 952.05 + - 9179.44 + - - 2310.61 + - 2306.18 + - 1078.41 + - 9706.62 + - - 652.4 + - 949.42 + - 759.31 + - 3837.42 + - - 712.22 + - 1198.83 + - 927.48 + - 3837.42 + - - 527.93 + - 316.18 + - 454.73 + - 3384.84 + - - 738.82 + - 422.57 + - 454.73 + - 3384.84 + - - 541.01 + - 906.16 + - 437.49 + - 1355.06 + - - 717.46 + - 906.16 + - 556.68 + - 1355.06 + - - 2518.14 + - 3262.11 + - 3018.14 + - 7595.78 + - - 3019.08 + - 3945.61 + - 3554.04 + - 7595.78 + - - 8476.07 + - 8258.54 + - 5960.21 + - 19294.85 + - - 10448.66 + - 10548.47 + - 6688.79 + - 25807.35 + - - 1973.23 + - 1805.62 + - 1053.23 + - 5033.19 + - - 2601.99 + - 2152.51 + - 1294.96 + - 5985.75 + - - 1304.99 + - 1039.04 + - 311.97 + - 223.09 + - - 1671.49 + - 1153.3 + - 311.97 + - 446.18 + - - 1274.22 + - 1727.11 + - 1324.48 + - 2185.98 + - - 1368.62 + - 1943.0 + - 1749.62 + - 2185.98 + - - 1558.28 + - 952.3 + - 1563.19 + - 4344.16 + - - 1952.49 + - 1226.85 + - 2208.04 + - 6919.63 + - - 408.96 + - 549.99 + - 174.34 + - 2834.07 + - - 646.74 + - 790.98 + - 174.34 + - 2834.07 + - - 1802.4 + - 1450.21 + - 1567.11 + - 4056.46 + - - 2176.17 + - 1686.28 + - 1704.0 + - 4879.18 + - - 772.05 + - 876.39 + - 771.44 + - 6328.89 + - - 1048.43 + - 876.39 + - 858.2 + - 6328.89 + - - 1096.89 + - 541.59 + - 612.65 + - 1184.6 + - - 1259.77 + - 541.59 + - 612.65 + - 1184.6 + - - 1585.4 + - 1291.99 + - 616.68 + - 1649.85 + - - 1995.05 + - 1291.99 + - 616.68 + - 1886.52 + - - 9041.19 + - 8688.2 + - 7196.91 + - 19327.65 + - - 11279.19 + - 10307.9 + - 8293.87 + - 22670.23 + - - 3201.61 + - 2547.68 + - 2806.15 + - 7141.49 + - - 3617.53 + - 2863.09 + - 3446.67 + - 7397.6 + - - 571.06 + - 750.01 + - 810.47 + - 523.09 + - - 681.94 + - 750.01 + - 1176.32 + - 523.09 + - - 18.7 + - null + - null + - null + - - 18.7 + - null + - null + - null + - - 790.0 + - 869.41 + - 659.24 + - 2664.71 + - - 963.08 + - 890.67 + - 926.38 + - 2664.71 + - - 2294.87 + - 2170.62 + - 2137.33 + - 3676.86 + - - 2725.93 + - 2380.37 + - 2158.09 + - 3676.86 + - - 11367.24 + - 11524.88 + - 8522.94 + - 25996.75 + - - 13561.15 + - 13729.96 + - 9700.71 + - 30393.45 + - - 1478.95 + - 1839.72 + - 1030.04 + - 5663.31 + - - 1514.89 + - 2325.39 + - 1366.28 + - 5663.31 + - - 638.98 + - 758.13 + - 396.08 + - 3426.72 + - - 893.14 + - 758.13 + - 396.08 + - 3426.72 + - - 316.43 + - 299.91 + - 96.27 + - 1128.03 + - - 454.71 + - 383.62 + - 178.1 + - 3384.09 + - - 597.1 + - 596.79 + - 190.5 + - null + - - 701.11 + - 596.79 + - 373.65 + - null + - - 739.23 + - 567.73 + - 137.81 + - null + - - 969.9 + - 893.17 + - 172.97 + - null + - - 462.58 + - 540.36 + - 326.03 + - null + - - 523.96 + - 540.36 + - 440.93 + - null + - - 1213.9 + - 676.67 + - 801.92 + - 1772.62 + - - 1575.07 + - 1173.63 + - 801.92 + - 2074.55 + - - 1069.48 + - 1244.55 + - 835.05 + - 5211.52 + - - 1394.01 + - 1429.29 + - 835.05 + - 6042.93 + - - 978.06 + - 925.18 + - 528.25 + - 3787.89 + - - 1225.73 + - 1010.03 + - 973.49 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: + - data: + - - null + - 8804.49 + - - 3205.41 + - null + - - null + - 5982.7 + - - 3939.72 + - null + - - null + - 8467.68 + - - 3542.07 + - null + - - null + - 4503.79 + - - 2349.06 + - null + - - null + - 7745.42 + - - 5617.86 + - null + - - null + - 8189.130000000001 + - - 3157.96 + - null + - - null + - 8546.58 + - - 3763.37 + - null + - - null + - 2558.1 + - - 770.11 + - null + - - null + - 176.71 + - - 102.03 + - null + - - null + - 13572.17 + - - 7939.25 + - null + - - null + - 640.05 + - - 393.47 + - null + - - null + - 10650.42 + - - 5646.42 + - null + - - null + - 2892.16 + - - 1048.14 + - null + - - null + - 4050.87 + - - 1729.45 + - null + - - null + - 382.19 + - - 360.16 + - null + - - null + - 2132.86 + - - 1129.66 + - null + - - null + - 21687.019999999997 + - - 13727.01 + - null + - - null + - 13555.43 + - - 9706.62 + - null + - - null + - 6198.55 + - - 3837.42 + - null + - - null + - 4683.68 + - - 3384.84 + - null + - - null + - 3239.7200000000003 + - - 1355.06 + - null + - - null + - 16394.17 + - - 7595.78 + - null + - - null + - 41989.67 + - - 25807.35 + - null + - - null + - 9865.269999999999 + - - 5985.75 + - null + - - null + - 2879.09 + - - 1671.49 + - null + - - null + - 6511.790000000001 + - - 2185.98 + - null + - - null + - 8417.93 + - - 6919.63 + - null + - - null + - 3967.36 + - - 2834.07 + - null + - - null + - 8876.18 + - - 4879.18 + - null + - - null + - 8748.77 + - - 6328.89 + - null + - - null + - 3435.73 + - - 1259.77 + - null + - - null + - 5143.92 + - - 1995.05 + - null + - - null + - 44253.95000000001 + - - 22670.23 + - null + - - null + - 15696.93 + - - 7397.6 + - null + - - null + - 2654.63 + - - 1176.32 + - null + - - null + - 18.7 + - - 18.7 + - null + - - null + - 4983.36 + - - 2664.71 + - null + - - null + - 10279.68 + - - 3676.86 + - null + - - null + - 57411.81 + - - 30393.45 + - null + - - null + - 10012.02 + - - 5663.31 + - null + - - null + - 5219.91 + - - 3426.72 + - null + - - null + - 1840.64 + - - 3384.09 + - null + - - null + - 1384.3899999999999 + - - 701.11 + - null + - - null + - 1444.77 + - - 969.9 + - null + - - null + - 1328.9699999999998 + - - 540.36 + - null + - - null + - 4465.110000000001 + - - 2074.55 + - null + - - null + - 8360.6 + - - 6042.93 + - null + - - null + - 6219.379999999999 + - - 4246.86 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_0 + paging: + count: + - 96 + - 4 + offset: + - 0 + - 0 + total: + - 96 + - 4 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml new file mode 100644 index 000000000..ff0bb5ec8 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_totals4.yaml @@ -0,0 +1,5405 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - state + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - region + - product_category + localIdentifier: dim_1 + totals: + - function: SUM + localIdentifier: grand_total1 + metric: price + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - state + - measureGroup + - function: MAX + localIdentifier: grand_total2 + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - state + - measureGroup + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: d2328283e14f906dfa5cf046073b53bbf7ada392 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d2328283e14f906dfa5cf046073b53bbf7ada392?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24905' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - null + - null + - null + - null + - null + - null + - null + - null + - 652.4 + - 949.42 + - 759.31 + - 3837.42 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 712.22 + - 1198.83 + - 927.48 + - 3837.42 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 790.0 + - 869.41 + - 659.24 + - 2664.71 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 963.08 + - 890.67 + - 926.38 + - 2664.71 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 2294.87 + - 2170.62 + - 2137.33 + - 3676.86 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 2725.93 + - 2380.37 + - 2158.09 + - 3676.86 + - - null + - null + - null + - null + - null + - null + - null + - null + - 527.93 + - 316.18 + - 454.73 + - 3384.84 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 738.82 + - 422.57 + - 454.73 + - 3384.84 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 11367.24 + - 11524.88 + - 8522.94 + - 25996.75 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 13561.15 + - 13729.96 + - 9700.71 + - 30393.45 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1478.95 + - 1839.72 + - 1030.04 + - 5663.31 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1514.89 + - 2325.39 + - 1366.28 + - 5663.31 + - - null + - null + - null + - null + - 871.42 + - 887.3 + - 594.45 + - 538.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1014.93 + - 1048.14 + - 594.45 + - 538.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 541.01 + - 906.16 + - 437.49 + - 1355.06 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 717.46 + - 906.16 + - 556.68 + - 1355.06 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 2518.14 + - 3262.11 + - 3018.14 + - 7595.78 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 3019.08 + - 3945.61 + - 3554.04 + - 7595.78 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 8476.07 + - 8258.54 + - 5960.21 + - 19294.85 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 10448.66 + - 10548.47 + - 6688.79 + - 25807.35 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1973.23 + - 1805.62 + - 1053.23 + - 5033.19 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 2601.99 + - 2152.51 + - 1294.96 + - 5985.75 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 638.98 + - 758.13 + - 396.08 + - 3426.72 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 893.14 + - 758.13 + - 396.08 + - 3426.72 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 316.43 + - 299.91 + - 96.27 + - 1128.03 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 454.71 + - 383.62 + - 178.1 + - 3384.09 + - - 2018.99 + - 1936.08 + - 1644.01 + - 3205.41 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2535.21 + - 2325.5 + - 1667.22 + - 3205.41 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 963.25 + - 1115.49 + - 286.41 + - 3617.55 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1190.44 + - 1178.01 + - 286.41 + - 3939.72 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1858.1 + - 1819.59 + - 1491.35 + - 3298.64 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2263.12 + - 2474.87 + - 1491.35 + - 3542.07 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 802.06 + - 603.3 + - 749.37 + - 2349.06 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 882.27 + - 674.41 + - 864.05 + - 2349.06 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1304.99 + - 1039.04 + - 311.97 + - 223.09 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1671.49 + - 1153.3 + - 311.97 + - 446.18 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1274.22 + - 1727.11 + - 1324.48 + - 2185.98 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1368.62 + - 1943.0 + - 1749.62 + - 2185.98 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1558.28 + - 952.3 + - 1563.19 + - 4344.16 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1952.49 + - 1226.85 + - 2208.04 + - 6919.63 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 955.93 + - 1051.5 + - 418.92 + - 1624.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1055.56 + - 1729.45 + - 418.92 + - 1624.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 989.47 + - 1581.46 + - 1817.19 + - 3357.3 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1104.14 + - 1767.83 + - 2663.57 + - 5617.86 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1915.46 + - 2329.01 + - 1264.88 + - 2679.78 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2369.61 + - 2826.18 + - 1311.02 + - 3157.96 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 408.96 + - 549.99 + - 174.34 + - 2834.07 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 646.74 + - 790.98 + - 174.34 + - 2834.07 + - null + - null + - null + - null + - null + - - 2065.18 + - 1512.2 + - 1922.63 + - 3046.57 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2541.12 + - 1961.18 + - 2653.67 + - 3763.37 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 597.1 + - 596.79 + - 190.5 + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 701.11 + - 596.79 + - 373.65 + - null + - - 586.37 + - 770.11 + - 535.43 + - 666.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 742.46 + - 770.11 + - 535.43 + - 666.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 739.23 + - 567.73 + - 137.81 + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 969.9 + - 893.17 + - 172.97 + - null + - - null + - null + - null + - null + - 220.46 + - null + - 161.73 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 360.16 + - null + - 161.73 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1007.04 + - 537.52 + - 356.46 + - 231.84 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1129.66 + - 725.32 + - 356.46 + - 231.84 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 462.58 + - 540.36 + - 326.03 + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 523.96 + - 540.36 + - 440.93 + - null + - - null + - null + - null + - null + - 5004.64 + - 4631.73 + - 3316.02 + - 8734.63 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 6162.98 + - 6433.78 + - 3995.11 + - 13727.01 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1802.4 + - 1450.21 + - 1567.11 + - 4056.46 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 2176.17 + - 1686.28 + - 1704.0 + - 4879.18 + - null + - null + - null + - null + - null + - - 102.03 + - 60.78 + - 13.9 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 102.03 + - 60.78 + - 13.9 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 3463.82 + - 3532.76 + - 2498.84 + - 4076.75 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 4467.47 + - 4133.16 + - 3377.52 + - 7939.25 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 772.05 + - 876.39 + - 771.44 + - 6328.89 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1048.43 + - 876.39 + - 858.2 + - 6328.89 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1213.9 + - 676.67 + - 801.92 + - 1772.62 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1575.07 + - 1173.63 + - 801.92 + - 2074.55 + - - null + - null + - null + - null + - 1677.18 + - 1746.76 + - 952.05 + - 9179.44 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 2310.61 + - 2306.18 + - 1078.41 + - 9706.62 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 18.7 + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 18.7 + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1096.89 + - 541.59 + - 612.65 + - 1184.6 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1259.77 + - 541.59 + - 612.65 + - 1184.6 + - null + - null + - null + - null + - null + - - 236.34 + - 184.82 + - 218.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 393.47 + - 281.19 + - 218.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1585.4 + - 1291.99 + - 616.68 + - 1649.85 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1995.05 + - 1291.99 + - 616.68 + - 1886.52 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 9041.19 + - 8688.2 + - 7196.91 + - 19327.65 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 11279.19 + - 10307.9 + - 8293.87 + - 22670.23 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1069.48 + - 1244.55 + - 835.05 + - 5211.52 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1394.01 + - 1429.29 + - 835.05 + - 6042.93 + - - null + - null + - null + - null + - null + - null + - null + - null + - 3201.61 + - 2547.68 + - 2806.15 + - 7141.49 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 3617.53 + - 2863.09 + - 3446.67 + - 7397.6 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 978.06 + - 925.18 + - 528.25 + - 3787.89 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1225.73 + - 1010.03 + - 973.49 + - 4246.86 + - - null + - null + - null + - null + - null + - null + - null + - null + - 571.06 + - 750.01 + - 810.47 + - 523.09 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 681.94 + - 750.01 + - 1176.32 + - 523.09 + - null + - null + - null + - null + - null + - - 1869.53 + - 1813.39 + - 1321.08 + - 5646.42 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2146.81 + - 2638.54 + - 1684.95 + - 5646.42 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: + - data: + - - null + - 6198.55 + - - 3837.42 + - null + - - null + - 4983.36 + - - 2664.71 + - null + - - null + - 10279.68 + - - 3676.86 + - null + - - null + - 4683.68 + - - 3384.84 + - null + - - null + - 57411.81 + - - 30393.45 + - null + - - null + - 10012.02 + - - 5663.31 + - null + - - null + - 2892.16 + - - 1048.14 + - null + - - null + - 3239.7200000000003 + - - 1355.06 + - null + - - null + - 16394.17 + - - 7595.78 + - null + - - null + - 41989.67 + - - 25807.35 + - null + - - null + - 9865.269999999999 + - - 5985.75 + - null + - - null + - 5219.91 + - - 3426.72 + - null + - - null + - 1840.64 + - - 3384.09 + - null + - - null + - 8804.49 + - - 3205.41 + - null + - - null + - 5982.7 + - - 3939.72 + - null + - - null + - 8467.68 + - - 3542.07 + - null + - - null + - 4503.79 + - - 2349.06 + - null + - - null + - 2879.09 + - - 1671.49 + - null + - - null + - 6511.790000000001 + - - 2185.98 + - null + - - null + - 8417.93 + - - 6919.63 + - null + - - null + - 4050.87 + - - 1729.45 + - null + - - null + - 7745.42 + - - 5617.86 + - null + - - null + - 8189.130000000001 + - - 3157.96 + - null + - - null + - 3967.36 + - - 2834.07 + - null + - - null + - 8546.58 + - - 3763.37 + - null + - - null + - 1384.3899999999999 + - - 701.11 + - null + - - null + - 2558.1 + - - 770.11 + - null + - - null + - 1444.77 + - - 969.9 + - null + - - null + - 382.19 + - - 360.16 + - null + - - null + - 2132.86 + - - 1129.66 + - null + - - null + - 1328.9699999999998 + - - 540.36 + - null + - - null + - 21687.019999999997 + - - 13727.01 + - null + - - null + - 8876.18 + - - 4879.18 + - null + - - null + - 176.71 + - - 102.03 + - null + - - null + - 13572.17 + - - 7939.25 + - null + - - null + - 8748.77 + - - 6328.89 + - null + - - null + - 4465.110000000001 + - - 2074.55 + - null + - - null + - 13555.43 + - - 9706.62 + - null + - - null + - 18.7 + - - 18.7 + - null + - - null + - 3435.73 + - - 1259.77 + - null + - - null + - 640.05 + - - 393.47 + - null + - - null + - 5143.92 + - - 1995.05 + - null + - - null + - 44253.95000000001 + - - 22670.23 + - null + - - null + - 8360.6 + - - 6042.93 + - null + - - null + - 15696.93 + - - 7397.6 + - null + - - null + - 6219.379999999999 + - - 4246.86 + - null + - - null + - 2654.63 + - - 1176.32 + - null + - - null + - 10650.42 + - - 5646.42 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_0 + paging: + count: + - 96 + - 17 + offset: + - 0 + - 0 + total: + - 96 + - 17 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d2328283e14f906dfa5cf046073b53bbf7ada392/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2304' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: d2328283e14f906dfa5cf046073b53bbf7ada392 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - state + - measureGroup + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - region + - product_category + sorting: [] + totals: + - localIdentifier: grand_total1 + function: SUM + metric: price + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - state + - measureGroup + - localIdentifier: grand_total2 + function: MAX + metric: order_amount + totalDimensions: + - dimensionIdentifier: dim_0 + totalDimensionItems: + - state + - measureGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/d2328283e14f906dfa5cf046073b53bbf7ada392?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24905' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - null + - null + - null + - null + - null + - null + - null + - null + - 652.4 + - 949.42 + - 759.31 + - 3837.42 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 712.22 + - 1198.83 + - 927.48 + - 3837.42 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 790.0 + - 869.41 + - 659.24 + - 2664.71 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 963.08 + - 890.67 + - 926.38 + - 2664.71 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 2294.87 + - 2170.62 + - 2137.33 + - 3676.86 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 2725.93 + - 2380.37 + - 2158.09 + - 3676.86 + - - null + - null + - null + - null + - null + - null + - null + - null + - 527.93 + - 316.18 + - 454.73 + - 3384.84 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 738.82 + - 422.57 + - 454.73 + - 3384.84 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 11367.24 + - 11524.88 + - 8522.94 + - 25996.75 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 13561.15 + - 13729.96 + - 9700.71 + - 30393.45 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1478.95 + - 1839.72 + - 1030.04 + - 5663.31 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1514.89 + - 2325.39 + - 1366.28 + - 5663.31 + - - null + - null + - null + - null + - 871.42 + - 887.3 + - 594.45 + - 538.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1014.93 + - 1048.14 + - 594.45 + - 538.99 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 541.01 + - 906.16 + - 437.49 + - 1355.06 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 717.46 + - 906.16 + - 556.68 + - 1355.06 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 2518.14 + - 3262.11 + - 3018.14 + - 7595.78 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 3019.08 + - 3945.61 + - 3554.04 + - 7595.78 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 8476.07 + - 8258.54 + - 5960.21 + - 19294.85 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 10448.66 + - 10548.47 + - 6688.79 + - 25807.35 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1973.23 + - 1805.62 + - 1053.23 + - 5033.19 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 2601.99 + - 2152.51 + - 1294.96 + - 5985.75 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 638.98 + - 758.13 + - 396.08 + - 3426.72 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 893.14 + - 758.13 + - 396.08 + - 3426.72 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 316.43 + - 299.91 + - 96.27 + - 1128.03 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 454.71 + - 383.62 + - 178.1 + - 3384.09 + - - 2018.99 + - 1936.08 + - 1644.01 + - 3205.41 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2535.21 + - 2325.5 + - 1667.22 + - 3205.41 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 963.25 + - 1115.49 + - 286.41 + - 3617.55 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1190.44 + - 1178.01 + - 286.41 + - 3939.72 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1858.1 + - 1819.59 + - 1491.35 + - 3298.64 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2263.12 + - 2474.87 + - 1491.35 + - 3542.07 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 802.06 + - 603.3 + - 749.37 + - 2349.06 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 882.27 + - 674.41 + - 864.05 + - 2349.06 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1304.99 + - 1039.04 + - 311.97 + - 223.09 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1671.49 + - 1153.3 + - 311.97 + - 446.18 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1274.22 + - 1727.11 + - 1324.48 + - 2185.98 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1368.62 + - 1943.0 + - 1749.62 + - 2185.98 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1558.28 + - 952.3 + - 1563.19 + - 4344.16 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1952.49 + - 1226.85 + - 2208.04 + - 6919.63 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 955.93 + - 1051.5 + - 418.92 + - 1624.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1055.56 + - 1729.45 + - 418.92 + - 1624.52 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 989.47 + - 1581.46 + - 1817.19 + - 3357.3 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1104.14 + - 1767.83 + - 2663.57 + - 5617.86 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 1915.46 + - 2329.01 + - 1264.88 + - 2679.78 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2369.61 + - 2826.18 + - 1311.02 + - 3157.96 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 408.96 + - 549.99 + - 174.34 + - 2834.07 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 646.74 + - 790.98 + - 174.34 + - 2834.07 + - null + - null + - null + - null + - null + - - 2065.18 + - 1512.2 + - 1922.63 + - 3046.57 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2541.12 + - 1961.18 + - 2653.67 + - 3763.37 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 597.1 + - 596.79 + - 190.5 + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 701.11 + - 596.79 + - 373.65 + - null + - - 586.37 + - 770.11 + - 535.43 + - 666.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 742.46 + - 770.11 + - 535.43 + - 666.19 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 739.23 + - 567.73 + - 137.81 + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 969.9 + - 893.17 + - 172.97 + - null + - - null + - null + - null + - null + - 220.46 + - null + - 161.73 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 360.16 + - null + - 161.73 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1007.04 + - 537.52 + - 356.46 + - 231.84 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 1129.66 + - 725.32 + - 356.46 + - 231.84 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 462.58 + - 540.36 + - 326.03 + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 523.96 + - 540.36 + - 440.93 + - null + - - null + - null + - null + - null + - 5004.64 + - 4631.73 + - 3316.02 + - 8734.63 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 6162.98 + - 6433.78 + - 3995.11 + - 13727.01 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1802.4 + - 1450.21 + - 1567.11 + - 4056.46 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 2176.17 + - 1686.28 + - 1704.0 + - 4879.18 + - null + - null + - null + - null + - null + - - 102.03 + - 60.78 + - 13.9 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 102.03 + - 60.78 + - 13.9 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 3463.82 + - 3532.76 + - 2498.84 + - 4076.75 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 4467.47 + - 4133.16 + - 3377.52 + - 7939.25 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 772.05 + - 876.39 + - 771.44 + - 6328.89 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1048.43 + - 876.39 + - 858.2 + - 6328.89 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1213.9 + - 676.67 + - 801.92 + - 1772.62 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1575.07 + - 1173.63 + - 801.92 + - 2074.55 + - - null + - null + - null + - null + - 1677.18 + - 1746.76 + - 952.05 + - 9179.44 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - 2310.61 + - 2306.18 + - 1078.41 + - 9706.62 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 18.7 + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 18.7 + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1096.89 + - 541.59 + - 612.65 + - 1184.6 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1259.77 + - 541.59 + - 612.65 + - 1184.6 + - null + - null + - null + - null + - null + - - 236.34 + - 184.82 + - 218.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 393.47 + - 281.19 + - 218.89 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1585.4 + - 1291.99 + - 616.68 + - 1649.85 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 1995.05 + - 1291.99 + - 616.68 + - 1886.52 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 9041.19 + - 8688.2 + - 7196.91 + - 19327.65 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 11279.19 + - 10307.9 + - 8293.87 + - 22670.23 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1069.48 + - 1244.55 + - 835.05 + - 5211.52 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1394.01 + - 1429.29 + - 835.05 + - 6042.93 + - - null + - null + - null + - null + - null + - null + - null + - null + - 3201.61 + - 2547.68 + - 2806.15 + - 7141.49 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 3617.53 + - 2863.09 + - 3446.67 + - 7397.6 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 978.06 + - 925.18 + - 528.25 + - 3787.89 + - - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - 1225.73 + - 1010.03 + - 973.49 + - 4246.86 + - - null + - null + - null + - null + - null + - null + - null + - null + - 571.06 + - 750.01 + - 810.47 + - 523.09 + - null + - null + - null + - null + - null + - - null + - null + - null + - null + - null + - null + - null + - null + - 681.94 + - 750.01 + - 1176.32 + - 523.09 + - null + - null + - null + - null + - null + - - 1869.53 + - 1813.39 + - 1321.08 + - 5646.42 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - - 2146.81 + - 2638.54 + - 1684.95 + - 5646.42 + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + - null + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: + - data: + - - null + - 6198.55 + - - 3837.42 + - null + - - null + - 4983.36 + - - 2664.71 + - null + - - null + - 10279.68 + - - 3676.86 + - null + - - null + - 4683.68 + - - 3384.84 + - null + - - null + - 57411.81 + - - 30393.45 + - null + - - null + - 10012.02 + - - 5663.31 + - null + - - null + - 2892.16 + - - 1048.14 + - null + - - null + - 3239.7200000000003 + - - 1355.06 + - null + - - null + - 16394.17 + - - 7595.78 + - null + - - null + - 41989.67 + - - 25807.35 + - null + - - null + - 9865.269999999999 + - - 5985.75 + - null + - - null + - 5219.91 + - - 3426.72 + - null + - - null + - 1840.64 + - - 3384.09 + - null + - - null + - 8804.49 + - - 3205.41 + - null + - - null + - 5982.7 + - - 3939.72 + - null + - - null + - 8467.68 + - - 3542.07 + - null + - - null + - 4503.79 + - - 2349.06 + - null + - - null + - 2879.09 + - - 1671.49 + - null + - - null + - 6511.790000000001 + - - 2185.98 + - null + - - null + - 8417.93 + - - 6919.63 + - null + - - null + - 4050.87 + - - 1729.45 + - null + - - null + - 7745.42 + - - 5617.86 + - null + - - null + - 8189.130000000001 + - - 3157.96 + - null + - - null + - 3967.36 + - - 2834.07 + - null + - - null + - 8546.58 + - - 3763.37 + - null + - - null + - 1384.3899999999999 + - - 701.11 + - null + - - null + - 2558.1 + - - 770.11 + - null + - - null + - 1444.77 + - - 969.9 + - null + - - null + - 382.19 + - - 360.16 + - null + - - null + - 2132.86 + - - 1129.66 + - null + - - null + - 1328.9699999999998 + - - 540.36 + - null + - - null + - 21687.019999999997 + - - 13727.01 + - null + - - null + - 8876.18 + - - 4879.18 + - null + - - null + - 176.71 + - - 102.03 + - null + - - null + - 13572.17 + - - 7939.25 + - null + - - null + - 8748.77 + - - 6328.89 + - null + - - null + - 4465.110000000001 + - - 2074.55 + - null + - - null + - 13555.43 + - - 9706.62 + - null + - - null + - 18.7 + - - 18.7 + - null + - - null + - 3435.73 + - - 1259.77 + - null + - - null + - 640.05 + - - 393.47 + - null + - - null + - 5143.92 + - - 1995.05 + - null + - - null + - 44253.95000000001 + - - 22670.23 + - null + - - null + - 8360.6 + - - 6042.93 + - null + - - null + - 15696.93 + - - 7397.6 + - null + - - null + - 6219.379999999999 + - - 4246.86 + - null + - - null + - 2654.63 + - - 1176.32 + - null + - - null + - 10650.42 + - - 5646.42 + - null + dimensionHeaders: + - headerGroups: + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + - headers: + - totalHeader: + function: MAX + - totalHeader: + function: SUM + totalDimensions: + - dim_0 + paging: + count: + - 96 + - 17 + offset: + - 0 + - 0 + total: + - 96 + - 17 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml new file mode 100644 index 000000000..2c6700d99 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim1.yaml @@ -0,0 +1,2930 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - state + - region + localIdentifier: dim_0 + - itemIdentifiers: + - product_category + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: b8fd2e44dec4c1a1cb34bb175b369f2dcab22169 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b8fd2e44dec4c1a1cb34bb175b369f2dcab22169?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '11303' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - - 1478.95 + - 1514.89 + - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + - - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + - - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - null + - null + - - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - null + - null + - - 220.46 + - 360.16 + - null + - null + - 161.73 + - 161.73 + - null + - null + - - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - null + - null + - - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - null + - null + - - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - - 18.7 + - 18.7 + - null + - null + - null + - null + - null + - null + - - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - null + - null + - - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + - - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 48 + - 8 + offset: + - 0 + - 0 + total: + - 48 + - 8 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b8fd2e44dec4c1a1cb34bb175b369f2dcab22169/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1962' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: b8fd2e44dec4c1a1cb34bb175b369f2dcab22169 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - state + - region + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - product_category + - measureGroup + sorting: [] + totals: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b8fd2e44dec4c1a1cb34bb175b369f2dcab22169?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '11303' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - - 1478.95 + - 1514.89 + - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + - - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + - - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - null + - null + - - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - null + - null + - - 220.46 + - 360.16 + - null + - null + - 161.73 + - 161.73 + - null + - null + - - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - null + - null + - - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - null + - null + - - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - - 18.7 + - 18.7 + - null + - null + - null + - null + - null + - null + - - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - null + - null + - - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + - - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 48 + - 8 + offset: + - 0 + - 0 + total: + - 48 + - 8 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b8fd2e44dec4c1a1cb34bb175b369f2dcab22169/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1962' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: b8fd2e44dec4c1a1cb34bb175b369f2dcab22169 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - state + - region + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - product_category + - measureGroup + sorting: [] + totals: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b8fd2e44dec4c1a1cb34bb175b369f2dcab22169?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '11303' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 652.4 + - 712.22 + - 949.42 + - 1198.83 + - 759.31 + - 927.48 + - 3837.42 + - 3837.42 + - - 790.0 + - 963.08 + - 869.41 + - 890.67 + - 659.24 + - 926.38 + - 2664.71 + - 2664.71 + - - 2294.87 + - 2725.93 + - 2170.62 + - 2380.37 + - 2137.33 + - 2158.09 + - 3676.86 + - 3676.86 + - - 527.93 + - 738.82 + - 316.18 + - 422.57 + - 454.73 + - 454.73 + - 3384.84 + - 3384.84 + - - 11367.24 + - 13561.15 + - 11524.88 + - 13729.96 + - 8522.94 + - 9700.71 + - 25996.75 + - 30393.45 + - - 1478.95 + - 1514.89 + - 1839.72 + - 2325.39 + - 1030.04 + - 1366.28 + - 5663.31 + - 5663.31 + - - 871.42 + - 1014.93 + - 887.3 + - 1048.14 + - 594.45 + - 594.45 + - 538.99 + - 538.99 + - - 541.01 + - 717.46 + - 906.16 + - 906.16 + - 437.49 + - 556.68 + - 1355.06 + - 1355.06 + - - 2518.14 + - 3019.08 + - 3262.11 + - 3945.61 + - 3018.14 + - 3554.04 + - 7595.78 + - 7595.78 + - - 8476.07 + - 10448.66 + - 8258.54 + - 10548.47 + - 5960.21 + - 6688.79 + - 19294.85 + - 25807.35 + - - 1973.23 + - 2601.99 + - 1805.62 + - 2152.51 + - 1053.23 + - 1294.96 + - 5033.19 + - 5985.75 + - - 638.98 + - 893.14 + - 758.13 + - 758.13 + - 396.08 + - 396.08 + - 3426.72 + - 3426.72 + - - 316.43 + - 454.71 + - 299.91 + - 383.62 + - 96.27 + - 178.1 + - 1128.03 + - 3384.09 + - - 2018.99 + - 2535.21 + - 1936.08 + - 2325.5 + - 1644.01 + - 1667.22 + - 3205.41 + - 3205.41 + - - 963.25 + - 1190.44 + - 1115.49 + - 1178.01 + - 286.41 + - 286.41 + - 3617.55 + - 3939.72 + - - 1858.1 + - 2263.12 + - 1819.59 + - 2474.87 + - 1491.35 + - 1491.35 + - 3298.64 + - 3542.07 + - - 802.06 + - 882.27 + - 603.3 + - 674.41 + - 749.37 + - 864.05 + - 2349.06 + - 2349.06 + - - 1304.99 + - 1671.49 + - 1039.04 + - 1153.3 + - 311.97 + - 311.97 + - 223.09 + - 446.18 + - - 1274.22 + - 1368.62 + - 1727.11 + - 1943.0 + - 1324.48 + - 1749.62 + - 2185.98 + - 2185.98 + - - 1558.28 + - 1952.49 + - 952.3 + - 1226.85 + - 1563.19 + - 2208.04 + - 4344.16 + - 6919.63 + - - 955.93 + - 1055.56 + - 1051.5 + - 1729.45 + - 418.92 + - 418.92 + - 1624.52 + - 1624.52 + - - 989.47 + - 1104.14 + - 1581.46 + - 1767.83 + - 1817.19 + - 2663.57 + - 3357.3 + - 5617.86 + - - 1915.46 + - 2369.61 + - 2329.01 + - 2826.18 + - 1264.88 + - 1311.02 + - 2679.78 + - 3157.96 + - - 408.96 + - 646.74 + - 549.99 + - 790.98 + - 174.34 + - 174.34 + - 2834.07 + - 2834.07 + - - 2065.18 + - 2541.12 + - 1512.2 + - 1961.18 + - 1922.63 + - 2653.67 + - 3046.57 + - 3763.37 + - - 597.1 + - 701.11 + - 596.79 + - 596.79 + - 190.5 + - 373.65 + - null + - null + - - 586.37 + - 742.46 + - 770.11 + - 770.11 + - 535.43 + - 535.43 + - 666.19 + - 666.19 + - - 739.23 + - 969.9 + - 567.73 + - 893.17 + - 137.81 + - 172.97 + - null + - null + - - 220.46 + - 360.16 + - null + - null + - 161.73 + - 161.73 + - null + - null + - - 1007.04 + - 1129.66 + - 537.52 + - 725.32 + - 356.46 + - 356.46 + - 231.84 + - 231.84 + - - 462.58 + - 523.96 + - 540.36 + - 540.36 + - 326.03 + - 440.93 + - null + - null + - - 5004.64 + - 6162.98 + - 4631.73 + - 6433.78 + - 3316.02 + - 3995.11 + - 8734.63 + - 13727.01 + - - 1802.4 + - 2176.17 + - 1450.21 + - 1686.28 + - 1567.11 + - 1704.0 + - 4056.46 + - 4879.18 + - - 102.03 + - 102.03 + - 60.78 + - 60.78 + - 13.9 + - 13.9 + - null + - null + - - 3463.82 + - 4467.47 + - 3532.76 + - 4133.16 + - 2498.84 + - 3377.52 + - 4076.75 + - 7939.25 + - - 772.05 + - 1048.43 + - 876.39 + - 876.39 + - 771.44 + - 858.2 + - 6328.89 + - 6328.89 + - - 1213.9 + - 1575.07 + - 676.67 + - 1173.63 + - 801.92 + - 801.92 + - 1772.62 + - 2074.55 + - - 1677.18 + - 2310.61 + - 1746.76 + - 2306.18 + - 952.05 + - 1078.41 + - 9179.44 + - 9706.62 + - - 18.7 + - 18.7 + - null + - null + - null + - null + - null + - null + - - 1096.89 + - 1259.77 + - 541.59 + - 541.59 + - 612.65 + - 612.65 + - 1184.6 + - 1184.6 + - - 236.34 + - 393.47 + - 184.82 + - 281.19 + - 218.89 + - 218.89 + - null + - null + - - 1585.4 + - 1995.05 + - 1291.99 + - 1291.99 + - 616.68 + - 616.68 + - 1649.85 + - 1886.52 + - - 9041.19 + - 11279.19 + - 8688.2 + - 10307.9 + - 7196.91 + - 8293.87 + - 19327.65 + - 22670.23 + - - 1069.48 + - 1394.01 + - 1244.55 + - 1429.29 + - 835.05 + - 835.05 + - 5211.52 + - 6042.93 + - - 3201.61 + - 3617.53 + - 2547.68 + - 2863.09 + - 2806.15 + - 3446.67 + - 7141.49 + - 7397.6 + - - 978.06 + - 1225.73 + - 925.18 + - 1010.03 + - 528.25 + - 973.49 + - 3787.89 + - 4246.86 + - - 571.06 + - 681.94 + - 750.01 + - 750.01 + - 810.47 + - 1176.32 + - 523.09 + - 523.09 + - - 1869.53 + - 2146.81 + - 1813.39 + - 2638.54 + - 1321.08 + - 1684.95 + - 5646.42 + - 5646.42 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 48 + - 8 + offset: + - 0 + - 0 + total: + - 48 + - 8 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml new file mode 100644 index 000000000..548ecf3c9 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim2.yaml @@ -0,0 +1,4726 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - region + - state + - product_category + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 9213e9529f27010689c2812a3166b7acce38b183 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9213e9529f27010689c2812a3166b7acce38b183?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24936' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - - 1936.08 + - 2325.5 + - - 1644.01 + - 1667.22 + - - 3205.41 + - 3205.41 + - - 963.25 + - 1190.44 + - - 1115.49 + - 1178.01 + - - 286.41 + - 286.41 + - - 3617.55 + - 3939.72 + - - 1858.1 + - 2263.12 + - - 1819.59 + - 2474.87 + - - 1491.35 + - 1491.35 + - - 3298.64 + - 3542.07 + - - 802.06 + - 882.27 + - - 603.3 + - 674.41 + - - 749.37 + - 864.05 + - - 2349.06 + - 2349.06 + - - 989.47 + - 1104.14 + - - 1581.46 + - 1767.83 + - - 1817.19 + - 2663.57 + - - 3357.3 + - 5617.86 + - - 1915.46 + - 2369.61 + - - 2329.01 + - 2826.18 + - - 1264.88 + - 1311.02 + - - 2679.78 + - 3157.96 + - - 2065.18 + - 2541.12 + - - 1512.2 + - 1961.18 + - - 1922.63 + - 2653.67 + - - 3046.57 + - 3763.37 + - - 586.37 + - 742.46 + - - 770.11 + - 770.11 + - - 535.43 + - 535.43 + - - 666.19 + - 666.19 + - - 102.03 + - 102.03 + - - 60.78 + - 60.78 + - - 13.9 + - 13.9 + - - 3463.82 + - 4467.47 + - - 3532.76 + - 4133.16 + - - 2498.84 + - 3377.52 + - - 4076.75 + - 7939.25 + - - 236.34 + - 393.47 + - - 184.82 + - 281.19 + - - 218.89 + - 218.89 + - - 1869.53 + - 2146.81 + - - 1813.39 + - 2638.54 + - - 1321.08 + - 1684.95 + - - 5646.42 + - 5646.42 + - - 871.42 + - 1014.93 + - - 887.3 + - 1048.14 + - - 594.45 + - 594.45 + - - 538.99 + - 538.99 + - - 955.93 + - 1055.56 + - - 1051.5 + - 1729.45 + - - 418.92 + - 418.92 + - - 1624.52 + - 1624.52 + - - 220.46 + - 360.16 + - - 161.73 + - 161.73 + - - 1007.04 + - 1129.66 + - - 537.52 + - 725.32 + - - 356.46 + - 356.46 + - - 231.84 + - 231.84 + - - 5004.64 + - 6162.98 + - - 4631.73 + - 6433.78 + - - 3316.02 + - 3995.11 + - - 8734.63 + - 13727.01 + - - 1677.18 + - 2310.61 + - - 1746.76 + - 2306.18 + - - 952.05 + - 1078.41 + - - 9179.44 + - 9706.62 + - - 652.4 + - 712.22 + - - 949.42 + - 1198.83 + - - 759.31 + - 927.48 + - - 3837.42 + - 3837.42 + - - 527.93 + - 738.82 + - - 316.18 + - 422.57 + - - 454.73 + - 454.73 + - - 3384.84 + - 3384.84 + - - 541.01 + - 717.46 + - - 906.16 + - 906.16 + - - 437.49 + - 556.68 + - - 1355.06 + - 1355.06 + - - 2518.14 + - 3019.08 + - - 3262.11 + - 3945.61 + - - 3018.14 + - 3554.04 + - - 7595.78 + - 7595.78 + - - 8476.07 + - 10448.66 + - - 8258.54 + - 10548.47 + - - 5960.21 + - 6688.79 + - - 19294.85 + - 25807.35 + - - 1973.23 + - 2601.99 + - - 1805.62 + - 2152.51 + - - 1053.23 + - 1294.96 + - - 5033.19 + - 5985.75 + - - 1304.99 + - 1671.49 + - - 1039.04 + - 1153.3 + - - 311.97 + - 311.97 + - - 223.09 + - 446.18 + - - 1274.22 + - 1368.62 + - - 1727.11 + - 1943.0 + - - 1324.48 + - 1749.62 + - - 2185.98 + - 2185.98 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + - 2 + offset: + - 0 + - 0 + total: + - 182 + - 2 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9213e9529f27010689c2812a3166b7acce38b183?offset=100%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '20020' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 1558.28 + - 1952.49 + - - 952.3 + - 1226.85 + - - 1563.19 + - 2208.04 + - - 4344.16 + - 6919.63 + - - 408.96 + - 646.74 + - - 549.99 + - 790.98 + - - 174.34 + - 174.34 + - - 2834.07 + - 2834.07 + - - 1802.4 + - 2176.17 + - - 1450.21 + - 1686.28 + - - 1567.11 + - 1704.0 + - - 4056.46 + - 4879.18 + - - 772.05 + - 1048.43 + - - 876.39 + - 876.39 + - - 771.44 + - 858.2 + - - 6328.89 + - 6328.89 + - - 1096.89 + - 1259.77 + - - 541.59 + - 541.59 + - - 612.65 + - 612.65 + - - 1184.6 + - 1184.6 + - - 1585.4 + - 1995.05 + - - 1291.99 + - 1291.99 + - - 616.68 + - 616.68 + - - 1649.85 + - 1886.52 + - - 9041.19 + - 11279.19 + - - 8688.2 + - 10307.9 + - - 7196.91 + - 8293.87 + - - 19327.65 + - 22670.23 + - - 3201.61 + - 3617.53 + - - 2547.68 + - 2863.09 + - - 2806.15 + - 3446.67 + - - 7141.49 + - 7397.6 + - - 571.06 + - 681.94 + - - 750.01 + - 750.01 + - - 810.47 + - 1176.32 + - - 523.09 + - 523.09 + - - 18.7 + - 18.7 + - - 790.0 + - 963.08 + - - 869.41 + - 890.67 + - - 659.24 + - 926.38 + - - 2664.71 + - 2664.71 + - - 2294.87 + - 2725.93 + - - 2170.62 + - 2380.37 + - - 2137.33 + - 2158.09 + - - 3676.86 + - 3676.86 + - - 11367.24 + - 13561.15 + - - 11524.88 + - 13729.96 + - - 8522.94 + - 9700.71 + - - 25996.75 + - 30393.45 + - - 1478.95 + - 1514.89 + - - 1839.72 + - 2325.39 + - - 1030.04 + - 1366.28 + - - 5663.31 + - 5663.31 + - - 638.98 + - 893.14 + - - 758.13 + - 758.13 + - - 396.08 + - 396.08 + - - 3426.72 + - 3426.72 + - - 316.43 + - 454.71 + - - 299.91 + - 383.62 + - - 96.27 + - 178.1 + - - 1128.03 + - 3384.09 + - - 597.1 + - 701.11 + - - 596.79 + - 596.79 + - - 190.5 + - 373.65 + - - 739.23 + - 969.9 + - - 567.73 + - 893.17 + - - 137.81 + - 172.97 + - - 462.58 + - 523.96 + - - 540.36 + - 540.36 + - - 326.03 + - 440.93 + - - 1213.9 + - 1575.07 + - - 676.67 + - 1173.63 + - - 801.92 + - 801.92 + - - 1772.62 + - 2074.55 + - - 1069.48 + - 1394.01 + - - 1244.55 + - 1429.29 + - - 835.05 + - 835.05 + - - 5211.52 + - 6042.93 + - - 978.06 + - 1225.73 + - - 925.18 + - 1010.03 + - - 528.25 + - 973.49 + - - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 82 + - 2 + offset: + - 100 + - 0 + total: + - 182 + - 2 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9213e9529f27010689c2812a3166b7acce38b183/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1962' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 9213e9529f27010689c2812a3166b7acce38b183 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - region + - state + - product_category + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - measureGroup + sorting: [] + totals: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9213e9529f27010689c2812a3166b7acce38b183?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24936' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - - 1936.08 + - 2325.5 + - - 1644.01 + - 1667.22 + - - 3205.41 + - 3205.41 + - - 963.25 + - 1190.44 + - - 1115.49 + - 1178.01 + - - 286.41 + - 286.41 + - - 3617.55 + - 3939.72 + - - 1858.1 + - 2263.12 + - - 1819.59 + - 2474.87 + - - 1491.35 + - 1491.35 + - - 3298.64 + - 3542.07 + - - 802.06 + - 882.27 + - - 603.3 + - 674.41 + - - 749.37 + - 864.05 + - - 2349.06 + - 2349.06 + - - 989.47 + - 1104.14 + - - 1581.46 + - 1767.83 + - - 1817.19 + - 2663.57 + - - 3357.3 + - 5617.86 + - - 1915.46 + - 2369.61 + - - 2329.01 + - 2826.18 + - - 1264.88 + - 1311.02 + - - 2679.78 + - 3157.96 + - - 2065.18 + - 2541.12 + - - 1512.2 + - 1961.18 + - - 1922.63 + - 2653.67 + - - 3046.57 + - 3763.37 + - - 586.37 + - 742.46 + - - 770.11 + - 770.11 + - - 535.43 + - 535.43 + - - 666.19 + - 666.19 + - - 102.03 + - 102.03 + - - 60.78 + - 60.78 + - - 13.9 + - 13.9 + - - 3463.82 + - 4467.47 + - - 3532.76 + - 4133.16 + - - 2498.84 + - 3377.52 + - - 4076.75 + - 7939.25 + - - 236.34 + - 393.47 + - - 184.82 + - 281.19 + - - 218.89 + - 218.89 + - - 1869.53 + - 2146.81 + - - 1813.39 + - 2638.54 + - - 1321.08 + - 1684.95 + - - 5646.42 + - 5646.42 + - - 871.42 + - 1014.93 + - - 887.3 + - 1048.14 + - - 594.45 + - 594.45 + - - 538.99 + - 538.99 + - - 955.93 + - 1055.56 + - - 1051.5 + - 1729.45 + - - 418.92 + - 418.92 + - - 1624.52 + - 1624.52 + - - 220.46 + - 360.16 + - - 161.73 + - 161.73 + - - 1007.04 + - 1129.66 + - - 537.52 + - 725.32 + - - 356.46 + - 356.46 + - - 231.84 + - 231.84 + - - 5004.64 + - 6162.98 + - - 4631.73 + - 6433.78 + - - 3316.02 + - 3995.11 + - - 8734.63 + - 13727.01 + - - 1677.18 + - 2310.61 + - - 1746.76 + - 2306.18 + - - 952.05 + - 1078.41 + - - 9179.44 + - 9706.62 + - - 652.4 + - 712.22 + - - 949.42 + - 1198.83 + - - 759.31 + - 927.48 + - - 3837.42 + - 3837.42 + - - 527.93 + - 738.82 + - - 316.18 + - 422.57 + - - 454.73 + - 454.73 + - - 3384.84 + - 3384.84 + - - 541.01 + - 717.46 + - - 906.16 + - 906.16 + - - 437.49 + - 556.68 + - - 1355.06 + - 1355.06 + - - 2518.14 + - 3019.08 + - - 3262.11 + - 3945.61 + - - 3018.14 + - 3554.04 + - - 7595.78 + - 7595.78 + - - 8476.07 + - 10448.66 + - - 8258.54 + - 10548.47 + - - 5960.21 + - 6688.79 + - - 19294.85 + - 25807.35 + - - 1973.23 + - 2601.99 + - - 1805.62 + - 2152.51 + - - 1053.23 + - 1294.96 + - - 5033.19 + - 5985.75 + - - 1304.99 + - 1671.49 + - - 1039.04 + - 1153.3 + - - 311.97 + - 311.97 + - - 223.09 + - 446.18 + - - 1274.22 + - 1368.62 + - - 1727.11 + - 1943.0 + - - 1324.48 + - 1749.62 + - - 2185.98 + - 2185.98 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 100 + - 2 + offset: + - 0 + - 0 + total: + - 182 + - 2 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/9213e9529f27010689c2812a3166b7acce38b183?offset=100%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '20020' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 1558.28 + - 1952.49 + - - 952.3 + - 1226.85 + - - 1563.19 + - 2208.04 + - - 4344.16 + - 6919.63 + - - 408.96 + - 646.74 + - - 549.99 + - 790.98 + - - 174.34 + - 174.34 + - - 2834.07 + - 2834.07 + - - 1802.4 + - 2176.17 + - - 1450.21 + - 1686.28 + - - 1567.11 + - 1704.0 + - - 4056.46 + - 4879.18 + - - 772.05 + - 1048.43 + - - 876.39 + - 876.39 + - - 771.44 + - 858.2 + - - 6328.89 + - 6328.89 + - - 1096.89 + - 1259.77 + - - 541.59 + - 541.59 + - - 612.65 + - 612.65 + - - 1184.6 + - 1184.6 + - - 1585.4 + - 1995.05 + - - 1291.99 + - 1291.99 + - - 616.68 + - 616.68 + - - 1649.85 + - 1886.52 + - - 9041.19 + - 11279.19 + - - 8688.2 + - 10307.9 + - - 7196.91 + - 8293.87 + - - 19327.65 + - 22670.23 + - - 3201.61 + - 3617.53 + - - 2547.68 + - 2863.09 + - - 2806.15 + - 3446.67 + - - 7141.49 + - 7397.6 + - - 571.06 + - 681.94 + - - 750.01 + - 750.01 + - - 810.47 + - 1176.32 + - - 523.09 + - 523.09 + - - 18.7 + - 18.7 + - - 790.0 + - 963.08 + - - 869.41 + - 890.67 + - - 659.24 + - 926.38 + - - 2664.71 + - 2664.71 + - - 2294.87 + - 2725.93 + - - 2170.62 + - 2380.37 + - - 2137.33 + - 2158.09 + - - 3676.86 + - 3676.86 + - - 11367.24 + - 13561.15 + - - 11524.88 + - 13729.96 + - - 8522.94 + - 9700.71 + - - 25996.75 + - 30393.45 + - - 1478.95 + - 1514.89 + - - 1839.72 + - 2325.39 + - - 1030.04 + - 1366.28 + - - 5663.31 + - 5663.31 + - - 638.98 + - 893.14 + - - 758.13 + - 758.13 + - - 396.08 + - 396.08 + - - 3426.72 + - 3426.72 + - - 316.43 + - 454.71 + - - 299.91 + - 383.62 + - - 96.27 + - 178.1 + - - 1128.03 + - 3384.09 + - - 597.1 + - 701.11 + - - 596.79 + - 596.79 + - - 190.5 + - 373.65 + - - 739.23 + - 969.9 + - - 567.73 + - 893.17 + - - 137.81 + - 172.97 + - - 462.58 + - 523.96 + - - 540.36 + - 540.36 + - - 326.03 + - 440.93 + - - 1213.9 + - 1575.07 + - - 676.67 + - 1173.63 + - - 801.92 + - 801.92 + - - 1772.62 + - 2074.55 + - - 1069.48 + - 1394.01 + - - 1244.55 + - 1429.29 + - - 835.05 + - 835.05 + - - 5211.52 + - 6042.93 + - - 978.06 + - 1225.73 + - - 925.18 + - 1010.03 + - - 528.25 + - 973.49 + - - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 82 + - 2 + offset: + - 100 + - 0 + total: + - 182 + - 2 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml new file mode 100644 index 000000000..7218bbd1b --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_exec_def_two_dim3.yaml @@ -0,0 +1,2858 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: region + - label: + identifier: + id: state + type: label + localIdentifier: state + - label: + identifier: + id: products.category + type: label + localIdentifier: product_category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - product_category + localIdentifier: dim_0 + - itemIdentifiers: + - region + - state + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1097' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: e7e6d4d47344c745e2b9df4adcab362f508c7d25 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e7e6d4d47344c745e2b9df4adcab362f508c7d25?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '21425' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - 963.25 + - 1190.44 + - 1858.1 + - 2263.12 + - 802.06 + - 882.27 + - 989.47 + - 1104.14 + - 1915.46 + - 2369.61 + - 2065.18 + - 2541.12 + - 586.37 + - 742.46 + - 102.03 + - 102.03 + - 3463.82 + - 4467.47 + - 236.34 + - 393.47 + - 1869.53 + - 2146.81 + - 871.42 + - 1014.93 + - 955.93 + - 1055.56 + - 220.46 + - 360.16 + - 1007.04 + - 1129.66 + - 5004.64 + - 6162.98 + - 1677.18 + - 2310.61 + - 652.4 + - 712.22 + - 527.93 + - 738.82 + - 541.01 + - 717.46 + - 2518.14 + - 3019.08 + - 8476.07 + - 10448.66 + - 1973.23 + - 2601.99 + - 1304.99 + - 1671.49 + - 1274.22 + - 1368.62 + - 1558.28 + - 1952.49 + - 408.96 + - 646.74 + - 1802.4 + - 2176.17 + - 772.05 + - 1048.43 + - 1096.89 + - 1259.77 + - 1585.4 + - 1995.05 + - 9041.19 + - 11279.19 + - 3201.61 + - 3617.53 + - 571.06 + - 681.94 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 2294.87 + - 2725.93 + - 11367.24 + - 13561.15 + - 1478.95 + - 1514.89 + - 638.98 + - 893.14 + - 316.43 + - 454.71 + - 597.1 + - 701.11 + - 739.23 + - 969.9 + - 462.58 + - 523.96 + - 1213.9 + - 1575.07 + - 1069.48 + - 1394.01 + - 978.06 + - 1225.73 + - - 1936.08 + - 2325.5 + - 1115.49 + - 1178.01 + - 1819.59 + - 2474.87 + - 603.3 + - 674.41 + - 1581.46 + - 1767.83 + - 2329.01 + - 2826.18 + - 1512.2 + - 1961.18 + - 770.11 + - 770.11 + - 60.78 + - 60.78 + - 3532.76 + - 4133.16 + - 184.82 + - 281.19 + - 1813.39 + - 2638.54 + - 887.3 + - 1048.14 + - 1051.5 + - 1729.45 + - null + - null + - 537.52 + - 725.32 + - 4631.73 + - 6433.78 + - 1746.76 + - 2306.18 + - 949.42 + - 1198.83 + - 316.18 + - 422.57 + - 906.16 + - 906.16 + - 3262.11 + - 3945.61 + - 8258.54 + - 10548.47 + - 1805.62 + - 2152.51 + - 1039.04 + - 1153.3 + - 1727.11 + - 1943.0 + - 952.3 + - 1226.85 + - 549.99 + - 790.98 + - 1450.21 + - 1686.28 + - 876.39 + - 876.39 + - 541.59 + - 541.59 + - 1291.99 + - 1291.99 + - 8688.2 + - 10307.9 + - 2547.68 + - 2863.09 + - 750.01 + - 750.01 + - null + - null + - 869.41 + - 890.67 + - 2170.62 + - 2380.37 + - 11524.88 + - 13729.96 + - 1839.72 + - 2325.39 + - 758.13 + - 758.13 + - 299.91 + - 383.62 + - 596.79 + - 596.79 + - 567.73 + - 893.17 + - 540.36 + - 540.36 + - 676.67 + - 1173.63 + - 1244.55 + - 1429.29 + - 925.18 + - 1010.03 + - - 1644.01 + - 1667.22 + - 286.41 + - 286.41 + - 1491.35 + - 1491.35 + - 749.37 + - 864.05 + - 1817.19 + - 2663.57 + - 1264.88 + - 1311.02 + - 1922.63 + - 2653.67 + - 535.43 + - 535.43 + - 13.9 + - 13.9 + - 2498.84 + - 3377.52 + - 218.89 + - 218.89 + - 1321.08 + - 1684.95 + - 594.45 + - 594.45 + - 418.92 + - 418.92 + - 161.73 + - 161.73 + - 356.46 + - 356.46 + - 3316.02 + - 3995.11 + - 952.05 + - 1078.41 + - 759.31 + - 927.48 + - 454.73 + - 454.73 + - 437.49 + - 556.68 + - 3018.14 + - 3554.04 + - 5960.21 + - 6688.79 + - 1053.23 + - 1294.96 + - 311.97 + - 311.97 + - 1324.48 + - 1749.62 + - 1563.19 + - 2208.04 + - 174.34 + - 174.34 + - 1567.11 + - 1704.0 + - 771.44 + - 858.2 + - 612.65 + - 612.65 + - 616.68 + - 616.68 + - 7196.91 + - 8293.87 + - 2806.15 + - 3446.67 + - 810.47 + - 1176.32 + - null + - null + - 659.24 + - 926.38 + - 2137.33 + - 2158.09 + - 8522.94 + - 9700.71 + - 1030.04 + - 1366.28 + - 396.08 + - 396.08 + - 96.27 + - 178.1 + - 190.5 + - 373.65 + - 137.81 + - 172.97 + - 326.03 + - 440.93 + - 801.92 + - 801.92 + - 835.05 + - 835.05 + - 528.25 + - 973.49 + - - 3205.41 + - 3205.41 + - 3617.55 + - 3939.72 + - 3298.64 + - 3542.07 + - 2349.06 + - 2349.06 + - 3357.3 + - 5617.86 + - 2679.78 + - 3157.96 + - 3046.57 + - 3763.37 + - 666.19 + - 666.19 + - null + - null + - 4076.75 + - 7939.25 + - null + - null + - 5646.42 + - 5646.42 + - 538.99 + - 538.99 + - 1624.52 + - 1624.52 + - null + - null + - 231.84 + - 231.84 + - 8734.63 + - 13727.01 + - 9179.44 + - 9706.62 + - 3837.42 + - 3837.42 + - 3384.84 + - 3384.84 + - 1355.06 + - 1355.06 + - 7595.78 + - 7595.78 + - 19294.85 + - 25807.35 + - 5033.19 + - 5985.75 + - 223.09 + - 446.18 + - 2185.98 + - 2185.98 + - 4344.16 + - 6919.63 + - 2834.07 + - 2834.07 + - 4056.46 + - 4879.18 + - 6328.89 + - 6328.89 + - 1184.6 + - 1184.6 + - 1649.85 + - 1886.52 + - 19327.65 + - 22670.23 + - 7141.49 + - 7397.6 + - 523.09 + - 523.09 + - null + - null + - 2664.71 + - 2664.71 + - 3676.86 + - 3676.86 + - 25996.75 + - 30393.45 + - 5663.31 + - 5663.31 + - 3426.72 + - 3426.72 + - 1128.03 + - 3384.09 + - null + - null + - null + - null + - null + - null + - 1772.62 + - 2074.55 + - 5211.52 + - 6042.93 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 4 + - 96 + offset: + - 0 + - 0 + total: + - 4 + - 96 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e7e6d4d47344c745e2b9df4adcab362f508c7d25/metadata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1962' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + afm: + attributes: + - localIdentifier: region + label: + identifier: + id: region + type: label + - localIdentifier: state + label: + identifier: + id: state + type: label + - localIdentifier: product_category + label: + identifier: + id: products.category + type: label + filters: [] + measures: + - localIdentifier: price + definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + - localIdentifier: order_amount + definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + auxMeasures: [] + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: product_category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: region + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: state + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: e7e6d4d47344c745e2b9df4adcab362f508c7d25 + resultSpec: + dimensions: + - localIdentifier: dim_0 + itemIdentifiers: + - product_category + sorting: [] + - localIdentifier: dim_1 + itemIdentifiers: + - region + - state + - measureGroup + sorting: [] + totals: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/e7e6d4d47344c745e2b9df4adcab362f508c7d25?offset=0%2C0&limit=100%2C100 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '21425' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 2018.99 + - 2535.21 + - 963.25 + - 1190.44 + - 1858.1 + - 2263.12 + - 802.06 + - 882.27 + - 989.47 + - 1104.14 + - 1915.46 + - 2369.61 + - 2065.18 + - 2541.12 + - 586.37 + - 742.46 + - 102.03 + - 102.03 + - 3463.82 + - 4467.47 + - 236.34 + - 393.47 + - 1869.53 + - 2146.81 + - 871.42 + - 1014.93 + - 955.93 + - 1055.56 + - 220.46 + - 360.16 + - 1007.04 + - 1129.66 + - 5004.64 + - 6162.98 + - 1677.18 + - 2310.61 + - 652.4 + - 712.22 + - 527.93 + - 738.82 + - 541.01 + - 717.46 + - 2518.14 + - 3019.08 + - 8476.07 + - 10448.66 + - 1973.23 + - 2601.99 + - 1304.99 + - 1671.49 + - 1274.22 + - 1368.62 + - 1558.28 + - 1952.49 + - 408.96 + - 646.74 + - 1802.4 + - 2176.17 + - 772.05 + - 1048.43 + - 1096.89 + - 1259.77 + - 1585.4 + - 1995.05 + - 9041.19 + - 11279.19 + - 3201.61 + - 3617.53 + - 571.06 + - 681.94 + - 18.7 + - 18.7 + - 790.0 + - 963.08 + - 2294.87 + - 2725.93 + - 11367.24 + - 13561.15 + - 1478.95 + - 1514.89 + - 638.98 + - 893.14 + - 316.43 + - 454.71 + - 597.1 + - 701.11 + - 739.23 + - 969.9 + - 462.58 + - 523.96 + - 1213.9 + - 1575.07 + - 1069.48 + - 1394.01 + - 978.06 + - 1225.73 + - - 1936.08 + - 2325.5 + - 1115.49 + - 1178.01 + - 1819.59 + - 2474.87 + - 603.3 + - 674.41 + - 1581.46 + - 1767.83 + - 2329.01 + - 2826.18 + - 1512.2 + - 1961.18 + - 770.11 + - 770.11 + - 60.78 + - 60.78 + - 3532.76 + - 4133.16 + - 184.82 + - 281.19 + - 1813.39 + - 2638.54 + - 887.3 + - 1048.14 + - 1051.5 + - 1729.45 + - null + - null + - 537.52 + - 725.32 + - 4631.73 + - 6433.78 + - 1746.76 + - 2306.18 + - 949.42 + - 1198.83 + - 316.18 + - 422.57 + - 906.16 + - 906.16 + - 3262.11 + - 3945.61 + - 8258.54 + - 10548.47 + - 1805.62 + - 2152.51 + - 1039.04 + - 1153.3 + - 1727.11 + - 1943.0 + - 952.3 + - 1226.85 + - 549.99 + - 790.98 + - 1450.21 + - 1686.28 + - 876.39 + - 876.39 + - 541.59 + - 541.59 + - 1291.99 + - 1291.99 + - 8688.2 + - 10307.9 + - 2547.68 + - 2863.09 + - 750.01 + - 750.01 + - null + - null + - 869.41 + - 890.67 + - 2170.62 + - 2380.37 + - 11524.88 + - 13729.96 + - 1839.72 + - 2325.39 + - 758.13 + - 758.13 + - 299.91 + - 383.62 + - 596.79 + - 596.79 + - 567.73 + - 893.17 + - 540.36 + - 540.36 + - 676.67 + - 1173.63 + - 1244.55 + - 1429.29 + - 925.18 + - 1010.03 + - - 1644.01 + - 1667.22 + - 286.41 + - 286.41 + - 1491.35 + - 1491.35 + - 749.37 + - 864.05 + - 1817.19 + - 2663.57 + - 1264.88 + - 1311.02 + - 1922.63 + - 2653.67 + - 535.43 + - 535.43 + - 13.9 + - 13.9 + - 2498.84 + - 3377.52 + - 218.89 + - 218.89 + - 1321.08 + - 1684.95 + - 594.45 + - 594.45 + - 418.92 + - 418.92 + - 161.73 + - 161.73 + - 356.46 + - 356.46 + - 3316.02 + - 3995.11 + - 952.05 + - 1078.41 + - 759.31 + - 927.48 + - 454.73 + - 454.73 + - 437.49 + - 556.68 + - 3018.14 + - 3554.04 + - 5960.21 + - 6688.79 + - 1053.23 + - 1294.96 + - 311.97 + - 311.97 + - 1324.48 + - 1749.62 + - 1563.19 + - 2208.04 + - 174.34 + - 174.34 + - 1567.11 + - 1704.0 + - 771.44 + - 858.2 + - 612.65 + - 612.65 + - 616.68 + - 616.68 + - 7196.91 + - 8293.87 + - 2806.15 + - 3446.67 + - 810.47 + - 1176.32 + - null + - null + - 659.24 + - 926.38 + - 2137.33 + - 2158.09 + - 8522.94 + - 9700.71 + - 1030.04 + - 1366.28 + - 396.08 + - 396.08 + - 96.27 + - 178.1 + - 190.5 + - 373.65 + - 137.81 + - 172.97 + - 326.03 + - 440.93 + - 801.92 + - 801.92 + - 835.05 + - 835.05 + - 528.25 + - 973.49 + - - 3205.41 + - 3205.41 + - 3617.55 + - 3939.72 + - 3298.64 + - 3542.07 + - 2349.06 + - 2349.06 + - 3357.3 + - 5617.86 + - 2679.78 + - 3157.96 + - 3046.57 + - 3763.37 + - 666.19 + - 666.19 + - null + - null + - 4076.75 + - 7939.25 + - null + - null + - 5646.42 + - 5646.42 + - 538.99 + - 538.99 + - 1624.52 + - 1624.52 + - null + - null + - 231.84 + - 231.84 + - 8734.63 + - 13727.01 + - 9179.44 + - 9706.62 + - 3837.42 + - 3837.42 + - 3384.84 + - 3384.84 + - 1355.06 + - 1355.06 + - 7595.78 + - 7595.78 + - 19294.85 + - 25807.35 + - 5033.19 + - 5985.75 + - 223.09 + - 446.18 + - 2185.98 + - 2185.98 + - 4344.16 + - 6919.63 + - 2834.07 + - 2834.07 + - 4056.46 + - 4879.18 + - 6328.89 + - 6328.89 + - 1184.6 + - 1184.6 + - 1649.85 + - 1886.52 + - 19327.65 + - 22670.23 + - 7141.49 + - 7397.6 + - 523.09 + - 523.09 + - null + - null + - 2664.71 + - 2664.71 + - 3676.86 + - 3676.86 + - 25996.75 + - 30393.45 + - 5663.31 + - 5663.31 + - 3426.72 + - 3426.72 + - 1128.03 + - 3384.09 + - null + - null + - null + - null + - null + - null + - 1772.62 + - 2074.55 + - 5211.52 + - 6042.93 + - 3787.89 + - 4246.86 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 4 + - 96 + offset: + - 0 + - 0 + total: + - 4 + - 96 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml new file mode 100644 index 000000000..f0a41af7e --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight.yaml @@ -0,0 +1,2587 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + title: Revenue and Quantity by Product and Category + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + relationships: + metrics: + data: + - id: percent_revenue_in_category + type: metric + - id: revenue + type: metric + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + labels: + data: + - id: customer_name + type: label + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + included: + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Revenue + description: '' + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: '% Revenue in Category' + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - label: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: AVG + computeRatio: false + filters: [] + localIdentifier: aa6391acccf1452f8011201aef9af492 + - definition: + measure: + item: + identifier: + id: percent_revenue_in_category + type: metric + computeRatio: false + filters: [] + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 06bc6b3b9949466494e4f594c11f1bff + - 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1132' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - localIdentifier: aa6391acccf1452f8011201aef9af492 + - localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + format: '#,##0.0%' + name: '% Revenue in Category' + - localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + format: $#,##0 + name: Revenue + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_1 + links: + executionResult: 3df4b46442cbfd54bdd3c8986d530a837b16327f + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3df4b46442cbfd54bdd3c8986d530a837b16327f?offset=0%2C0&limit=4%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '4024' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 449.0 + - 172.0 + - 727.0 + - 854.0 + - 557.0 + - 1096.0 + - 149.0 + - 253.0 + - 571.0 + - 735.0 + - 144.0 + - 258.0 + - 386.0 + - 542.0 + - 147.0 + - 58.0 + - 63.0 + - 71.0 + - - 41.320524781341106 + - 46.30830065359477 + - 26.586969178082192 + - 21.873084648493546 + - 36.620566448801746 + - 18.500912052117265 + - 115.06585365853658 + - 57.807943925233644 + - 86.17856223175966 + - 28.59485996705107 + - 37.45467213114754 + - 76.52254545454545 + - 114.36082822085889 + - 12.718106382978723 + - 260.141512605042 + - 553.8807547169812 + - 811.6090566037736 + - 1568.7147457627118 + - - 0.17725916115332446 + - 0.07819070840973427 + - 0.18452791227743862 + - 0.17461697017263958 + - 0.19551673364684496 + - 0.1898885143400181 + - 0.15973175146727148 + - 0.14394284849088326 + - 0.48763974231358437 + - 0.20868565772826095 + - 0.06838997246733888 + - 0.25553420960278433 + - 0.5833271466249879 + - 0.09274867130488894 + - 0.16556859291478074 + - 0.13199641470235435 + - 0.22793065968694112 + - 0.47450433269592374 + - - 16744.48 + - 7386.15 + - 17431.11 + - 16494.89 + - 18469.15 + - 17937.49 + - 14421.37 + - 12995.87 + - 44026.52 + - 18841.17 + - 4725.73 + - 17657.35 + - 40307.76 + - 6408.91 + - 34697.71 + - 27662.09 + - 47766.74 + - 99440.44 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 2 + - measureHeader: + measureIndex: 3 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - attributeHeader: + labelValue: Polo Shirt + primaryLabelValue: Polo Shirt + - attributeHeader: + labelValue: Pullover + primaryLabelValue: Pullover + - attributeHeader: + labelValue: Shorts + primaryLabelValue: Shorts + - attributeHeader: + labelValue: Skirt + primaryLabelValue: Skirt + - attributeHeader: + labelValue: Slacks + primaryLabelValue: Slacks + - attributeHeader: + labelValue: T-Shirt + primaryLabelValue: T-Shirt + - attributeHeader: + labelValue: Artego + primaryLabelValue: Artego + - attributeHeader: + labelValue: Compglass + primaryLabelValue: Compglass + - attributeHeader: + labelValue: Magnemo + primaryLabelValue: Magnemo + - attributeHeader: + labelValue: PortaCode + primaryLabelValue: PortaCode + - attributeHeader: + labelValue: Applica + primaryLabelValue: Applica + - attributeHeader: + labelValue: ChalkTalk + primaryLabelValue: ChalkTalk + - attributeHeader: + labelValue: Optique + primaryLabelValue: Optique + - attributeHeader: + labelValue: Peril + primaryLabelValue: Peril + - attributeHeader: + labelValue: Biolid + primaryLabelValue: Biolid + - attributeHeader: + labelValue: Elentrix + primaryLabelValue: Elentrix + - attributeHeader: + labelValue: Integres + primaryLabelValue: Integres + - attributeHeader: + labelValue: Neptide + primaryLabelValue: Neptide + grandTotals: [] + paging: + count: + - 4 + - 18 + offset: + - 0 + - 0 + total: + - 4 + - 18 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml new file mode 100644 index 000000000..8e46c13fd --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_date.yaml @@ -0,0 +1,2361 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + title: Customers Trend + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + relationships: + metrics: + data: + - id: amount_of_active_customers + type: metric + - id: revenue_per_customer + type: metric + datasets: + data: + - id: date + type: dataset + labels: + data: + - id: date.month + type: label + type: visualizationObject + included: + - attributes: + title: Date + description: '' + tags: + - Date + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + type: dataset + - attributes: + title: '# of Active Customers' + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: Revenue per Customer + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/customers_trend?include=ALL + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + filters: + - relativeDateFilter: + dataset: + identifier: + id: date + type: dataset + from: -11 + granularity: MONTH + to: 0 + measures: + - definition: + measure: + item: + identifier: + id: amount_of_active_customers + type: metric + computeRatio: false + filters: [] + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + - definition: + measure: + item: + identifier: + id: revenue_per_customer + type: metric + computeRatio: false + filters: [] + localIdentifier: ec0606894b9f4897b7beaf1550608928 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '732' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + format: '#,##0' + name: '# of Active Customers' + - localIdentifier: ec0606894b9f4897b7beaf1550608928 + format: $#,##0.0 + name: Revenue per Customer + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + label: + id: date.month + type: label + labelName: Date - Month/Year + attribute: + id: date.month + type: attribute + attributeName: Date - Month/Year + granularity: MONTH + primaryLabel: + id: date.month + type: label + localIdentifier: dim_1 + links: + executionResult: 15269cb07f596861e1d18296e85e67937530870e + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/15269cb07f596861e1d18296e85e67937530870e?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1424' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 89.0 + - 72.0 + - 57.0 + - 87.0 + - 63.0 + - 61.0 + - 70.0 + - 53.0 + - 54.0 + - 58.0 + - 76.0 + - 95.0 + - - 206.22871794871796 + - 179.70174603174604 + - 167.8428 + - 182.3487341772152 + - 176.9677358490566 + - 150.10735849056604 + - 110.63396825396825 + - 164.63276595744682 + - 247.32333333333332 + - 113.54166666666667 + - 213.47925373134328 + - 167.58869047619046 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: 2021-09 + primaryLabelValue: 2021-09 + - attributeHeader: + labelValue: 2021-10 + primaryLabelValue: 2021-10 + - attributeHeader: + labelValue: 2021-11 + primaryLabelValue: 2021-11 + - attributeHeader: + labelValue: 2021-12 + primaryLabelValue: 2021-12 + - attributeHeader: + labelValue: 2022-01 + primaryLabelValue: 2022-01 + - attributeHeader: + labelValue: 2022-02 + primaryLabelValue: 2022-02 + - attributeHeader: + labelValue: 2022-03 + primaryLabelValue: 2022-03 + - attributeHeader: + labelValue: 2022-04 + primaryLabelValue: 2022-04 + - attributeHeader: + labelValue: 2022-05 + primaryLabelValue: 2022-05 + - attributeHeader: + labelValue: 2022-06 + primaryLabelValue: 2022-06 + - attributeHeader: + labelValue: 2022-07 + primaryLabelValue: 2022-07 + - attributeHeader: + labelValue: 2022-08 + primaryLabelValue: 2022-08 + grandTotals: [] + paging: + count: + - 2 + - 12 + offset: + - 0 + - 0 + total: + - 2 + - 12 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml new file mode 100644 index 000000000..f0a41af7e --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_insight_no_index.yaml @@ -0,0 +1,2587 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + title: Revenue and Quantity by Product and Category + areRelationsValid: true + content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + relationships: + metrics: + data: + - id: percent_revenue_in_category + type: metric + - id: revenue + type: metric + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + labels: + data: + - id: customer_name + type: label + - id: products.category + type: label + - id: product_name + type: label + type: visualizationObject + included: + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Revenue + description: '' + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: '% Revenue in Category' + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/visualizationObjects/revenue_and_quantity_by_product_and_category?include=ALL + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - label: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: AVG + computeRatio: false + filters: [] + localIdentifier: aa6391acccf1452f8011201aef9af492 + - definition: + measure: + item: + identifier: + id: percent_revenue_in_category + type: metric + computeRatio: false + filters: [] + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + - definition: + measure: + item: + identifier: + id: revenue + type: metric + computeRatio: false + filters: [] + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 06bc6b3b9949466494e4f594c11f1bff + - 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1132' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + - localIdentifier: aa6391acccf1452f8011201aef9af492 + - localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + format: '#,##0.0%' + name: '% Revenue in Category' + - localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + format: $#,##0 + name: Revenue + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_1 + links: + executionResult: 3df4b46442cbfd54bdd3c8986d530a837b16327f + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3df4b46442cbfd54bdd3c8986d530a837b16327f?offset=0%2C0&limit=4%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '4024' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 449.0 + - 172.0 + - 727.0 + - 854.0 + - 557.0 + - 1096.0 + - 149.0 + - 253.0 + - 571.0 + - 735.0 + - 144.0 + - 258.0 + - 386.0 + - 542.0 + - 147.0 + - 58.0 + - 63.0 + - 71.0 + - - 41.320524781341106 + - 46.30830065359477 + - 26.586969178082192 + - 21.873084648493546 + - 36.620566448801746 + - 18.500912052117265 + - 115.06585365853658 + - 57.807943925233644 + - 86.17856223175966 + - 28.59485996705107 + - 37.45467213114754 + - 76.52254545454545 + - 114.36082822085889 + - 12.718106382978723 + - 260.141512605042 + - 553.8807547169812 + - 811.6090566037736 + - 1568.7147457627118 + - - 0.17725916115332446 + - 0.07819070840973427 + - 0.18452791227743862 + - 0.17461697017263958 + - 0.19551673364684496 + - 0.1898885143400181 + - 0.15973175146727148 + - 0.14394284849088326 + - 0.48763974231358437 + - 0.20868565772826095 + - 0.06838997246733888 + - 0.25553420960278433 + - 0.5833271466249879 + - 0.09274867130488894 + - 0.16556859291478074 + - 0.13199641470235435 + - 0.22793065968694112 + - 0.47450433269592374 + - - 16744.48 + - 7386.15 + - 17431.11 + - 16494.89 + - 18469.15 + - 17937.49 + - 14421.37 + - 12995.87 + - 44026.52 + - 18841.17 + - 4725.73 + - 17657.35 + - 40307.76 + - 6408.91 + - 34697.71 + - 27662.09 + - 47766.74 + - 99440.44 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - measureHeader: + measureIndex: 2 + - measureHeader: + measureIndex: 3 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - attributeHeader: + labelValue: Polo Shirt + primaryLabelValue: Polo Shirt + - attributeHeader: + labelValue: Pullover + primaryLabelValue: Pullover + - attributeHeader: + labelValue: Shorts + primaryLabelValue: Shorts + - attributeHeader: + labelValue: Skirt + primaryLabelValue: Skirt + - attributeHeader: + labelValue: Slacks + primaryLabelValue: Slacks + - attributeHeader: + labelValue: T-Shirt + primaryLabelValue: T-Shirt + - attributeHeader: + labelValue: Artego + primaryLabelValue: Artego + - attributeHeader: + labelValue: Compglass + primaryLabelValue: Compglass + - attributeHeader: + labelValue: Magnemo + primaryLabelValue: Magnemo + - attributeHeader: + labelValue: PortaCode + primaryLabelValue: PortaCode + - attributeHeader: + labelValue: Applica + primaryLabelValue: Applica + - attributeHeader: + labelValue: ChalkTalk + primaryLabelValue: ChalkTalk + - attributeHeader: + labelValue: Optique + primaryLabelValue: Optique + - attributeHeader: + labelValue: Peril + primaryLabelValue: Peril + - attributeHeader: + labelValue: Biolid + primaryLabelValue: Biolid + - attributeHeader: + labelValue: Elentrix + primaryLabelValue: Elentrix + - attributeHeader: + labelValue: Integres + primaryLabelValue: Integres + - attributeHeader: + labelValue: Neptide + primaryLabelValue: Neptide + grandTotals: [] + paging: + count: + - 4 + - 18 + offset: + - 0 + - 0 + total: + - 4 + - 18 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml new file mode 100644 index 000000000..46b759f5a --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items.yaml @@ -0,0 +1,2247 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: reg + - label: + identifier: + id: products.category + type: label + localIdentifier: category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - reg + - category + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '846' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: reg + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: a331ca02d7e3758c33611af5efbf4bda9e814e02 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a331ca02d7e3758c33611af5efbf4bda9e814e02?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '3098' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 16870.6 + - 17258.99 + - 13763.98 + - 31943.67 + - 9736.67 + - 8854.81 + - 5799.63 + - 20309.42 + - 37305.83 + - 35912.54 + - 29438.5 + - 90300.47 + - 18.7 + - 21946.82 + - 22013.95 + - 15661.46 + - 53328.41 + - - 20738.15 + - 21091.76 + - 16767.98 + - 39827.31 + - 12033.9 + - 12242.87 + - 6605.08 + - 25828.98 + - 45935.65 + - 42605.53 + - 34629.04 + - 105222.17 + - 18.7 + - 26502.68 + - 26111.41 + - 18323.65 + - 61573.48 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 2 + - 17 + offset: + - 0 + - 0 + total: + - 2 + - 17 diff --git a/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml new file mode 100644 index 000000000..46b759f5a --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/dataframe_for_items_no_index.yaml @@ -0,0 +1,2247 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: reg + - label: + identifier: + id: products.category + type: label + localIdentifier: category + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: price + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: order_amount + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - reg + - category + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '846' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: price + - localIdentifier: order_amount + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: reg + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: category + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: a331ca02d7e3758c33611af5efbf4bda9e814e02 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/a331ca02d7e3758c33611af5efbf4bda9e814e02?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '3098' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 16870.6 + - 17258.99 + - 13763.98 + - 31943.67 + - 9736.67 + - 8854.81 + - 5799.63 + - 20309.42 + - 37305.83 + - 35912.54 + - 29438.5 + - 90300.47 + - 18.7 + - 21946.82 + - 22013.95 + - 15661.46 + - 53328.41 + - - 20738.15 + - 21091.76 + - 16767.98 + - 39827.31 + - 12033.9 + - 12242.87 + - 6605.08 + - 25828.98 + - 45935.65 + - 42605.53 + - 34629.04 + - 105222.17 + - 18.7 + - 26502.68 + - 26111.41 + - 18323.65 + - 61573.48 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 2 + - 17 + offset: + - 0 + - 0 + total: + - 2 + - 17 diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml b/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml new file mode 100644 index 000000000..424073dee --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/empty_indexed_dataframe.yaml @@ -0,0 +1,2087 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: product_name + type: label + localIdentifier: b8dfd97d05f8e90cf7972d4f5d11aa6f + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: amount_of_top_customers + type: metric + computeRatio: false + filters: [] + localIdentifier: 4139b3859d1bd4272480debf80d356ba + - definition: + measure: + item: + identifier: + id: total_revenue-no_filters + type: metric + computeRatio: false + filters: [] + localIdentifier: eddb24369ee4328eb3bbebe78d45ad2d + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - b8dfd97d05f8e90cf7972d4f5d11aa6f + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '726' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 4139b3859d1bd4272480debf80d356ba + format: '#,##0' + name: '# of Top Customers' + - localIdentifier: eddb24369ee4328eb3bbebe78d45ad2d + format: $#,##0 + name: Total Revenue (No Filters) + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: b8dfd97d05f8e90cf7972d4f5d11aa6f + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_1 + links: + executionResult: 4d8b5491f68c75064a0e425831816d5004c714d1 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d8b5491f68c75064a0e425831816d5004c714d1?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '171' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: [] + - headerGroups: + - headers: [] + grandTotals: [] + paging: + count: + - 0 + - 0 + offset: + - 0 + - 0 + total: + - 0 + - 0 diff --git a/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml b/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml new file mode 100644 index 000000000..424073dee --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/empty_not_indexed_dataframe.yaml @@ -0,0 +1,2087 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: product_name + type: label + localIdentifier: b8dfd97d05f8e90cf7972d4f5d11aa6f + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: amount_of_top_customers + type: metric + computeRatio: false + filters: [] + localIdentifier: 4139b3859d1bd4272480debf80d356ba + - definition: + measure: + item: + identifier: + id: total_revenue-no_filters + type: metric + computeRatio: false + filters: [] + localIdentifier: eddb24369ee4328eb3bbebe78d45ad2d + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - b8dfd97d05f8e90cf7972d4f5d11aa6f + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '726' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 4139b3859d1bd4272480debf80d356ba + format: '#,##0' + name: '# of Top Customers' + - localIdentifier: eddb24369ee4328eb3bbebe78d45ad2d + format: $#,##0 + name: Total Revenue (No Filters) + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: b8dfd97d05f8e90cf7972d4f5d11aa6f + label: + id: product_name + type: label + labelName: Product name + attribute: + id: product_name + type: attribute + attributeName: Product name + granularity: null + primaryLabel: + id: product_name + type: label + localIdentifier: dim_1 + links: + executionResult: 4d8b5491f68c75064a0e425831816d5004c714d1 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4d8b5491f68c75064a0e425831816d5004c714d1?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '171' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: [] + - headerGroups: + - headers: [] + grandTotals: [] + paging: + count: + - 0 + - 0 + offset: + - 0 + - 0 + total: + - 0 + - 0 diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml new file mode 100644 index 000000000..1445c2a44 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label.yaml @@ -0,0 +1,2179 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: state + type: label + localIdentifier: 263d7484f3c864cb11638430ee3f26af + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: + - positiveAttributeFilter: + in: + values: + - Northeast + label: + identifier: + id: region + type: label + - comparisonMeasureValueFilter: + measure: + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + operator: GREATER_THAN + value: 50.0 + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 263d7484f3c864cb11638430ee3f26af + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1251' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 263d7484f3c864cb11638430ee3f26af + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 254121499c82fc9c840308e3f41846c108fbb5e3 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/254121499c82fc9c840308e3f41846c108fbb5e3?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1011' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 6162.98 + - 6433.78 + - 3995.11 + - - 121.0 + - 58.0 + - 51.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - headers: + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + grandTotals: [] + paging: + count: + - 2 + - 3 + offset: + - 0 + - 0 + total: + - 2 + - 3 diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml new file mode 100644 index 000000000..7f2b913fb --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_filtered_metrics_and_label_reuse.yaml @@ -0,0 +1,2152 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: + - positiveAttributeFilter: + in: + values: + - Midwest + label: + identifier: + id: region + type: label + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '984' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 610a020afa36d27dacb51106f39267885ec03778 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/610a020afa36d27dacb51106f39267885ec03778?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '923' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 20738.15 + - 21091.76 + - 16767.98 + - 39827.31 + - - 415.0 + - 223.0 + - 200.0 + - 55.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 2 + - 4 + offset: + - 0 + - 0 + total: + - 2 + - 4 diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml new file mode 100644 index 000000000..b5f05ebbf --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics.yaml @@ -0,0 +1,2248 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '984' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 6a57d984e04198c71bc804bcf06d57948ceb4a4d + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/6a57d984e04198c71bc804bcf06d57948ceb4a4d?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '3050' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 20738.15 + - 21091.76 + - 16767.98 + - 39827.31 + - 12033.9 + - 12242.87 + - 6605.08 + - 25828.98 + - 45935.65 + - 42605.53 + - 34629.04 + - 105222.17 + - 18.7 + - 26502.68 + - 26111.41 + - 18323.65 + - 61573.48 + - - 415.0 + - 223.0 + - 200.0 + - 55.0 + - 242.0 + - 122.0 + - 94.0 + - 24.0 + - 902.0 + - 500.0 + - 436.0 + - 122.0 + - 1.0 + - 526.0 + - 291.0 + - 218.0 + - 76.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 2 + - 17 + offset: + - 0 + - 0 + total: + - 2 + - 17 diff --git a/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml new file mode 100644 index 000000000..f0012c584 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/multi_index_metrics_and_label.yaml @@ -0,0 +1,4135 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: state + type: label + localIdentifier: 263d7484f3c864cb11638430ee3f26af + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 263d7484f3c864cb11638430ee3f26af + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1251' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 263d7484f3c864cb11638430ee3f26af + label: + id: state + type: label + labelName: State + attribute: + id: state + type: attribute + attributeName: State + granularity: null + primaryLabel: + id: state + type: label + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 52b530ac7ff041f827e713207efd5565ce0cfe69 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/52b530ac7ff041f827e713207efd5565ce0cfe69?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '43803' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 712.22 + - 1198.83 + - 927.48 + - 3837.42 + - 963.08 + - 890.67 + - 926.38 + - 2664.71 + - 2725.93 + - 2380.37 + - 2158.09 + - 3676.86 + - 738.82 + - 422.57 + - 454.73 + - 3384.84 + - 13561.15 + - 13729.96 + - 9700.71 + - 30393.45 + - 1514.89 + - 2325.39 + - 1366.28 + - 5663.31 + - 1014.93 + - 1048.14 + - 594.45 + - 538.99 + - 717.46 + - 906.16 + - 556.68 + - 1355.06 + - 3019.08 + - 3945.61 + - 3554.04 + - 7595.78 + - 10448.66 + - 10548.47 + - 6688.79 + - 25807.35 + - 2601.99 + - 2152.51 + - 1294.96 + - 5985.75 + - 893.14 + - 758.13 + - 396.08 + - 3426.72 + - 454.71 + - 383.62 + - 178.1 + - 3384.09 + - 2535.21 + - 2325.5 + - 1667.22 + - 3205.41 + - 1190.44 + - 1178.01 + - 286.41 + - 3939.72 + - 2263.12 + - 2474.87 + - 1491.35 + - 3542.07 + - 882.27 + - 674.41 + - 864.05 + - 2349.06 + - 1671.49 + - 1153.3 + - 311.97 + - 446.18 + - 1368.62 + - 1943.0 + - 1749.62 + - 2185.98 + - 1952.49 + - 1226.85 + - 2208.04 + - 6919.63 + - 1055.56 + - 1729.45 + - 418.92 + - 1624.52 + - 1104.14 + - 1767.83 + - 2663.57 + - 5617.86 + - 2369.61 + - 2826.18 + - 1311.02 + - 3157.96 + - 646.74 + - 790.98 + - 174.34 + - 2834.07 + - 2541.12 + - 1961.18 + - 2653.67 + - 3763.37 + - 701.11 + - 596.79 + - 373.65 + - 742.46 + - 770.11 + - 535.43 + - 666.19 + - 969.9 + - 893.17 + - 172.97 + - 360.16 + - 161.73 + - 1129.66 + - 725.32 + - 356.46 + - 231.84 + - 523.96 + - 540.36 + - 440.93 + - 6162.98 + - 6433.78 + - 3995.11 + - 13727.01 + - 2176.17 + - 1686.28 + - 1704.0 + - 4879.18 + - 102.03 + - 60.78 + - 13.9 + - 4467.47 + - 4133.16 + - 3377.52 + - 7939.25 + - 1048.43 + - 876.39 + - 858.2 + - 6328.89 + - 1575.07 + - 1173.63 + - 801.92 + - 2074.55 + - 2310.61 + - 2306.18 + - 1078.41 + - 9706.62 + - 18.7 + - 1259.77 + - 541.59 + - 612.65 + - 1184.6 + - 393.47 + - 281.19 + - 218.89 + - 1995.05 + - 1291.99 + - 616.68 + - 1886.52 + - 11279.19 + - 10307.9 + - 8293.87 + - 22670.23 + - 1394.01 + - 1429.29 + - 835.05 + - 6042.93 + - 3617.53 + - 2863.09 + - 3446.67 + - 7397.6 + - 1225.73 + - 1010.03 + - 973.49 + - 4246.86 + - 681.94 + - 750.01 + - 1176.32 + - 523.09 + - 2146.81 + - 2638.54 + - 1684.95 + - 5646.42 + - - 19.0 + - 14.0 + - 12.0 + - 3.0 + - 21.0 + - 11.0 + - 7.0 + - 3.0 + - 60.0 + - 35.0 + - 25.0 + - 5.0 + - 15.0 + - 5.0 + - 9.0 + - 3.0 + - 269.0 + - 146.0 + - 118.0 + - 41.0 + - 37.0 + - 20.0 + - 13.0 + - 8.0 + - 22.0 + - 15.0 + - 9.0 + - 1.0 + - 14.0 + - 7.0 + - 5.0 + - 2.0 + - 67.0 + - 49.0 + - 41.0 + - 7.0 + - 199.0 + - 109.0 + - 86.0 + - 30.0 + - 40.0 + - 25.0 + - 15.0 + - 4.0 + - 17.0 + - 14.0 + - 6.0 + - 4.0 + - 4.0 + - 5.0 + - 2.0 + - 2.0 + - 51.0 + - 26.0 + - 24.0 + - 3.0 + - 24.0 + - 14.0 + - 9.0 + - 6.0 + - 47.0 + - 27.0 + - 22.0 + - 8.0 + - 23.0 + - 9.0 + - 12.0 + - 3.0 + - 35.0 + - 18.0 + - 9.0 + - 1.0 + - 33.0 + - 23.0 + - 19.0 + - 4.0 + - 37.0 + - 13.0 + - 17.0 + - 6.0 + - 24.0 + - 15.0 + - 6.0 + - 1.0 + - 26.0 + - 18.0 + - 19.0 + - 5.0 + - 46.0 + - 31.0 + - 19.0 + - 4.0 + - 8.0 + - 3.0 + - 3.0 + - 3.0 + - 56.0 + - 18.0 + - 25.0 + - 5.0 + - 16.0 + - 6.0 + - 4.0 + - 13.0 + - 9.0 + - 8.0 + - 3.0 + - 13.0 + - 7.0 + - 3.0 + - 6.0 + - 5.0 + - 20.0 + - 9.0 + - 4.0 + - 1.0 + - 13.0 + - 7.0 + - 8.0 + - 121.0 + - 58.0 + - 51.0 + - 11.0 + - 39.0 + - 18.0 + - 20.0 + - 7.0 + - 2.0 + - 1.0 + - 1.0 + - 75.0 + - 44.0 + - 40.0 + - 9.0 + - 24.0 + - 11.0 + - 10.0 + - 5.0 + - 21.0 + - 9.0 + - 15.0 + - 4.0 + - 49.0 + - 25.0 + - 19.0 + - 10.0 + - 1.0 + - 26.0 + - 11.0 + - 9.0 + - 2.0 + - 7.0 + - 3.0 + - 1.0 + - 35.0 + - 17.0 + - 8.0 + - 3.0 + - 220.0 + - 132.0 + - 123.0 + - 28.0 + - 25.0 + - 16.0 + - 11.0 + - 4.0 + - 75.0 + - 37.0 + - 39.0 + - 12.0 + - 30.0 + - 15.0 + - 6.0 + - 5.0 + - 16.0 + - 8.0 + - 11.0 + - 2.0 + - 45.0 + - 23.0 + - 20.0 + - 9.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alabama + primaryLabelValue: Alabama + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Alaska + primaryLabelValue: Alaska + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arizona + primaryLabelValue: Arizona + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: Arkansas + primaryLabelValue: Arkansas + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: California + primaryLabelValue: California + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Colorado + primaryLabelValue: Colorado + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Connecticut + primaryLabelValue: Connecticut + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: Delaware + primaryLabelValue: Delaware + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: District of Columbia + primaryLabelValue: District of Columbia + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Florida + primaryLabelValue: Florida + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Georgia + primaryLabelValue: Georgia + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Hawaii + primaryLabelValue: Hawaii + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Idaho + primaryLabelValue: Idaho + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Illinois + primaryLabelValue: Illinois + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Indiana + primaryLabelValue: Indiana + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Iowa + primaryLabelValue: Iowa + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kansas + primaryLabelValue: Kansas + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Kentucky + primaryLabelValue: Kentucky + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Louisiana + primaryLabelValue: Louisiana + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Maryland + primaryLabelValue: Maryland + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Massachusetts + primaryLabelValue: Massachusetts + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Michigan + primaryLabelValue: Michigan + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Minnesota + primaryLabelValue: Minnesota + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Mississippi + primaryLabelValue: Mississippi + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Missouri + primaryLabelValue: Missouri + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Montana + primaryLabelValue: Montana + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nebraska + primaryLabelValue: Nebraska + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: Nevada + primaryLabelValue: Nevada + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Hampshire + primaryLabelValue: New Hampshire + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Jersey + primaryLabelValue: New Jersey + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New Mexico + primaryLabelValue: New Mexico + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: New York + primaryLabelValue: New York + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Carolina + primaryLabelValue: North Carolina + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: North Dakota + primaryLabelValue: North Dakota + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Ohio + primaryLabelValue: Ohio + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oklahoma + primaryLabelValue: Oklahoma + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Oregon + primaryLabelValue: Oregon + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Pennsylvania + primaryLabelValue: Pennsylvania + - attributeHeader: + labelValue: Rhode Island + primaryLabelValue: Rhode Island + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Carolina + primaryLabelValue: South Carolina + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: South Dakota + primaryLabelValue: South Dakota + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Tennessee + primaryLabelValue: Tennessee + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Texas + primaryLabelValue: Texas + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Utah + primaryLabelValue: Utah + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Virginia + primaryLabelValue: Virginia + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: Washington + primaryLabelValue: Washington + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: West Virginia + primaryLabelValue: West Virginia + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - attributeHeader: + labelValue: Wisconsin + primaryLabelValue: Wisconsin + - headers: + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 2 + - 182 + offset: + - 0 + - 0 + total: + - 2 + - 182 diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml new file mode 100644 index 000000000..cf3ecdc18 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_filtered_metrics_and_labels.yaml @@ -0,0 +1,2104 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: + - positiveAttributeFilter: + in: + values: + - Midwest + label: + identifier: + id: region + type: label + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '675' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: 11056ed62b7ad0afb4fccfa4764e66517ac9ad75 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/11056ed62b7ad0afb4fccfa4764e66517ac9ad75?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '335' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 98425.2 + - - 607.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + grandTotals: [] + paging: + count: + - 2 + - 1 + offset: + - 0 + - 0 + total: + - 2 + - 1 diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml new file mode 100644 index 000000000..f17208fc1 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics.yaml @@ -0,0 +1,2064 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '363' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + links: + executionResult: 950f1be64a39e8ec59dca80bc2717da0332b7604 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/950f1be64a39e8ec59dca80bc2717da0332b7604?offset=0&limit=2 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '220' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 516058.34 + - 3016.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + grandTotals: [] + paging: + count: + - 2 + offset: + - 0 + total: + - 2 diff --git a/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml new file mode 100644 index 000000000..3be1d88be --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/not_indexed_metrics_and_labels.yaml @@ -0,0 +1,2116 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + - definition: + measure: + item: + identifier: + id: amount_of_orders + type: metric + computeRatio: false + filters: [] + localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '675' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 1a0aecdfcb500f7767579f45477cbdb3 + format: $#,##0 + name: Order Amount + - localIdentifier: 5f5d69477a25411cd33be7820a9c8e8e + format: '#,##0' + name: '# of Orders' + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: 415b7f42152777df3dcc0d715bb819abf7983e62 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/415b7f42152777df3dcc0d715bb819abf7983e62?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '686' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 98425.2 + - 56710.83 + - 228392.39 + - 18.7 + - 132511.22 + - - 607.0 + - 327.0 + - 1313.0 + - 1.0 + - 768.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 2 + - 5 + offset: + - 0 + - 0 + total: + - 2 + - 5 diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml new file mode 100644 index 000000000..c386016fd --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_filtered_metrics_and_label.yaml @@ -0,0 +1,2155 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: + - positiveAttributeFilter: + in: + values: + - Midwest + label: + identifier: + id: region + type: label + - positiveAttributeFilter: + in: + values: + - Midwest + label: + identifier: + id: region + type: label + - positiveAttributeFilter: + in: + values: + - Midwest + label: + identifier: + id: region + type: label + - positiveAttributeFilter: + in: + values: + - Clothing + label: + identifier: + id: products.category + type: label + - comparisonMeasureValueFilter: + measure: + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + operator: GREATER_THAN + value: 100.0 + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 7b4d783eae87de9dc8b1830a5c901494 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - c1240b6ba5cdafa4dd2ef1c728f0cffa + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '906' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + - localIdentifier: 7b4d783eae87de9dc8b1830a5c901494 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: 27c5e7e35706c668b4269a72bd3178425ae4ba37 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/27c5e7e35706c668b4269a72bd3178425ae4ba37?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '426' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 16870.6 + - - 763.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + grandTotals: [] + paging: + count: + - 2 + - 1 + offset: + - 0 + - 0 + total: + - 2 + - 1 diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml new file mode 100644 index 000000000..8926e65e2 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics.yaml @@ -0,0 +1,2216 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '851' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: b7890e369b787af8ca586f6c74492ea65c7e4652 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b7890e369b787af8ca586f6c74492ea65c7e4652?offset=0%2C0&limit=1%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2911' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 16870.6 + - 17258.99 + - 13763.98 + - 31943.67 + - 9736.67 + - 8854.81 + - 5799.63 + - 20309.42 + - 37305.83 + - 35912.54 + - 29438.5 + - 90300.47 + - 18.7 + - 21946.82 + - 22013.95 + - 15661.46 + - 53328.41 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 1 + - 17 + offset: + - 0 + - 0 + total: + - 1 + - 17 diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml new file mode 100644 index 000000000..a8f618bc8 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_and_label.yaml @@ -0,0 +1,2114 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 7b4d783eae87de9dc8b1830a5c901494 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '597' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + - localIdentifier: 7b4d783eae87de9dc8b1830a5c901494 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: f54259b390cc688631a06bb32928791a655bf969 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f54259b390cc688631a06bb32928791a655bf969?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '689' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 79837.24 + - 44700.53 + - 192957.34 + - 18.7 + - 112950.64 + - - 1457.0 + - 805.0 + - 3176.0 + - 1.0 + - 1793.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 2 + - 5 + offset: + - 0 + - 0 + total: + - 2 + - 5 diff --git a/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml new file mode 100644 index 000000000..a8f618bc8 --- /dev/null +++ b/gooddata-pandas/tests/dataframe/fixtures/simple_index_metrics_no_duplicate.yaml @@ -0,0 +1,2114 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + - definition: + measure: + item: + identifier: + id: quantity + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 7b4d783eae87de9dc8b1830a5c901494 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '597' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + - localIdentifier: 7b4d783eae87de9dc8b1830a5c901494 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: f54259b390cc688631a06bb32928791a655bf969 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f54259b390cc688631a06bb32928791a655bf969?offset=0%2C0&limit=2%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '689' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 79837.24 + - 44700.53 + - 192957.34 + - 18.7 + - 112950.64 + - - 1457.0 + - 805.0 + - 3176.0 + - 1.0 + - 1793.0 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - measureHeader: + measureIndex: 1 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 2 + - 5 + offset: + - 0 + - 0 + total: + - 2 + - 5 diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml b/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml new file mode 100644 index 000000000..33a893d2e --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/multi_index_filtered_series.yaml @@ -0,0 +1,2140 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: + - positiveAttributeFilter: + in: + values: + - Clothing + label: + identifier: + id: products.category + type: label + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '851' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: 3cabd2bda028a4b46bc74cc2ab04cb5f82f9b595 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3cabd2bda028a4b46bc74cc2ab04cb5f82f9b595?offset=0%2C0&limit=1%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1014' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 16870.6 + - 9736.67 + - 37305.83 + - 18.7 + - 21946.82 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + grandTotals: [] + paging: + count: + - 1 + - 5 + offset: + - 0 + - 0 + total: + - 1 + - 5 diff --git a/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml new file mode 100644 index 000000000..8926e65e2 --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/multi_index_metric_series.yaml @@ -0,0 +1,2216 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + - c1240b6ba5cdafa4dd2ef1c728f0cffa + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '851' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + localIdentifier: dim_1 + links: + executionResult: b7890e369b787af8ca586f6c74492ea65c7e4652 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/b7890e369b787af8ca586f6c74492ea65c7e4652?offset=0%2C0&limit=1%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2911' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 16870.6 + - 17258.99 + - 13763.98 + - 31943.67 + - 9736.67 + - 8854.81 + - 5799.63 + - 20309.42 + - 37305.83 + - 35912.54 + - 29438.5 + - 90300.47 + - 18.7 + - 21946.82 + - 22013.95 + - 15661.46 + - 53328.41 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + grandTotals: [] + paging: + count: + - 1 + - 17 + offset: + - 0 + - 0 + total: + - 1 + - 17 diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml new file mode 100644 index 000000000..e2925d126 --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_filtered_metric_series.yaml @@ -0,0 +1,4100 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '230' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + links: + executionResult: 39e35d24578c26ed138942714a73c11f87d274e3 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/39e35d24578c26ed138942714a73c11f87d274e3?offset=0&limit=1 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '176' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 430464.45 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + grandTotals: [] + paging: + count: + - 1 + offset: + - 0 + total: + - 1 + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: + - positiveAttributeFilter: + in: + values: + - Unknown + label: + identifier: + id: region + type: label + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '230' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + links: + executionResult: 5d80455083841821f8ac057f991170f063235576 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/5d80455083841821f8ac057f991170f063235576?offset=0&limit=1 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '171' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 18.7 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + grandTotals: [] + paging: + count: + - 1 + offset: + - 0 + total: + - 1 diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml new file mode 100644 index 000000000..287180992 --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series.yaml @@ -0,0 +1,2067 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: [] + resultSpec: + dimensions: + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '421' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + links: + executionResult: 2f54cff38ae1587fd7a0dc2671a99790b1da8029 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f54cff38ae1587fd7a0dc2671a99790b1da8029?offset=0&limit=1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '499' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 5 + offset: + - 0 + total: + - 5 diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml new file mode 100644 index 000000000..4be062a6b --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_label_series_with_granularity.yaml @@ -0,0 +1,2175 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: [] + resultSpec: + dimensions: + - itemIdentifiers: + - c1240b6ba5cdafa4dd2ef1c728f0cffa + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '730' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + links: + executionResult: aaa73b5fcfd2a325cdcea27acfaa20b55591ec97 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/aaa73b5fcfd2a325cdcea27acfaa20b55591ec97?offset=0&limit=1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2690' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Electronics + primaryLabelValue: Electronics + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Home + primaryLabelValue: Home + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - attributeHeader: + labelValue: Outdoor + primaryLabelValue: Outdoor + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 17 + offset: + - 0 + total: + - 17 diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml new file mode 100644 index 000000000..45a982d01 --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series.yaml @@ -0,0 +1,2048 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '230' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + links: + executionResult: 39e35d24578c26ed138942714a73c11f87d274e3 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/39e35d24578c26ed138942714a73c11f87d274e3?offset=0&limit=1 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '176' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 430464.45 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + grandTotals: [] + paging: + count: + - 1 + offset: + - 0 + total: + - 1 diff --git a/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml new file mode 100644 index 000000000..1354a1dcc --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/not_indexed_metric_series_with_granularity.yaml @@ -0,0 +1,2096 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '542' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: f1f1eaf170c53b88ec8146cecd3c6185954768c7 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f1f1eaf170c53b88ec8146cecd3c6185954768c7?offset=0%2C0&limit=1%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '619' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 79837.24 + - 44700.53 + - 192957.34 + - 18.7 + - 112950.64 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 1 + - 5 + offset: + - 0 + - 0 + total: + - 1 + - 5 diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml b/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml new file mode 100644 index 000000000..556688833 --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/simple_index_filtered_series.yaml @@ -0,0 +1,2095 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: products.category + type: label + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: + - positiveAttributeFilter: + in: + values: + - Midwest + label: + identifier: + id: region + type: label + - positiveAttributeFilter: + in: + values: + - Clothing + label: + identifier: + id: products.category + type: label + measures: [] + resultSpec: + dimensions: + - itemIdentifiers: + - c1240b6ba5cdafa4dd2ef1c728f0cffa + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '730' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: c1240b6ba5cdafa4dd2ef1c728f0cffa + label: + id: products.category + type: label + labelName: Category + attribute: + id: products.category + type: attribute + attributeName: Category + granularity: null + primaryLabel: + id: products.category + type: label + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + links: + executionResult: 66cea60a1b8507d9d87146cc60945ac5c0d0a17b + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/66cea60a1b8507d9d87146cc60945ac5c0d0a17b?offset=0&limit=1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '296' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Clothing + primaryLabelValue: Clothing + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + grandTotals: [] + paging: + count: + - 1 + offset: + - 0 + total: + - 1 diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml b/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml new file mode 100644 index 000000000..287180992 --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/simple_index_label_series.yaml @@ -0,0 +1,2067 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: [] + resultSpec: + dimensions: + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '421' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + links: + executionResult: 2f54cff38ae1587fd7a0dc2671a99790b1da8029 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/2f54cff38ae1587fd7a0dc2671a99790b1da8029?offset=0&limit=1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '499' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 5 + offset: + - 0 + total: + - 5 diff --git a/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml b/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml new file mode 100644 index 000000000..1354a1dcc --- /dev/null +++ b/gooddata-pandas/tests/series/fixtures/simple_index_metric_series.yaml @@ -0,0 +1,2096 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: 2660733dfc018f739b0d142f19af7126 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: price + type: fact + aggregation: SUM + computeRatio: false + filters: [] + localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + - itemIdentifiers: + - 2660733dfc018f739b0d142f19af7126 + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '542' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: 27c4b665b9d047b1a66a149714f1c596 + localIdentifier: dim_0 + - headers: + - attributeHeader: + localIdentifier: 2660733dfc018f739b0d142f19af7126 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_1 + links: + executionResult: f1f1eaf170c53b88ec8146cecd3c6185954768c7 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.minute + type: attribute + - id: date.quarter + type: attribute + - id: date.hour + type: attribute + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/f1f1eaf170c53b88ec8146cecd3c6185954768c7?offset=0%2C0&limit=1%2C1000 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '619' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 79837.24 + - 44700.53 + - 192957.34 + - 18.7 + - 112950.64 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 1 + - 5 + offset: + - 0 + - 0 + total: + - 1 + - 5 diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml new file mode 100644 index 000000000..a863ab6a0 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/bigquery.yaml @@ -0,0 +1,237 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 5d1639a68f9e6026 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Test + schema: demo + type: BIGQUERY + url: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=gdc-us-dev;OAuthType=0param=value + token: YmlncXVlcnlfc2VydmljZV9hY2NvdW50X2pzb24= + enableCaching: true + cachePath: + - cache_schema + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + enableCaching: true + cachePath: + - cache_schema + name: Test + type: BIGQUERY + url: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=0param=value;ProjectId=gdc-us-dev + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.yaml new file mode 100644 index 000000000..fc25aa625 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/declarative_data_sources.yaml @@ -0,0 +1,402 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: [] + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: [] + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.yaml new file mode 100644 index 000000000..a60b69f19 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_source_tables.yaml @@ -0,0 +1,262 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + path: + - demo + - campaign_channels + type: TABLE + columns: + - name: budget + dataType: NUMERIC + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: campaign_channel_id + dataType: STRING + isPrimaryKey: true + referencedTableId: null + referencedTableColumn: null + - name: campaign_id + dataType: INT + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - name: category + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: spend + dataType: NUMERIC + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: type + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/campaign_channels + type: dataSourceTable + - attributes: + path: + - demo + - campaigns + type: TABLE + columns: + - name: campaign_id + dataType: INT + isPrimaryKey: true + referencedTableId: null + referencedTableColumn: null + - name: campaign_name + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/campaigns + type: dataSourceTable + - attributes: + path: + - demo + - customers + type: TABLE + columns: + - name: customer_id + dataType: INT + isPrimaryKey: true + referencedTableId: null + referencedTableColumn: null + - name: customer_name + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: geo__state__location + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: region + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: state + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + id: customers + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/customers + type: dataSourceTable + - attributes: + path: + - demo + - order_lines + type: TABLE + columns: + - name: campaign_id + dataType: INT + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - name: customer_id + dataType: INT + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - name: date + dataType: DATE + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: order_id + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: order_line_id + dataType: STRING + isPrimaryKey: true + referencedTableId: null + referencedTableColumn: null + - name: order_status + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: price + dataType: NUMERIC + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: product_id + dataType: INT + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - name: quantity + dataType: NUMERIC + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: wdf__region + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: wdf__state + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/order_lines + type: dataSourceTable + - attributes: + path: + - demo + - products + type: TABLE + columns: + - name: category + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + - name: product_id + dataType: INT + isPrimaryKey: true + referencedTableId: null + referencedTableColumn: null + - name: product_name + dataType: STRING + isPrimaryKey: false + referencedTableId: null + referencedTableColumn: null + id: products + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables/products + type: dataSourceTable + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds/dataSourceTables?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml new file mode 100644 index 000000000..a29581a67 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_data_sources_list.yaml @@ -0,0 +1,88 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml new file mode 100644 index 000000000..b6b90af09 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_delete_declarative_data_sources.yaml @@ -0,0 +1,344 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml new file mode 100644 index 000000000..e91fb2e59 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_generate_logical_model.yaml @@ -0,0 +1,679 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/generateLogicalModel + body: + separator: __ + wdfPrefix: wdf + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml new file mode 100644 index 000000000..d964cb58c --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_load_and_put_declarative_data_sources.yaml @@ -0,0 +1,1103 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-bigquery-ds + name: demo-bigquery-ds + schema: demo + type: BIGQUERY + url: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=test;OAuthType=0 + enableCaching: true + pdm: + tables: [] + permissions: [] + token: c2VjcmV0X3Rva2Vu + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + - id: demo-vertica-ds + name: demo-vertica-ds + schema: demo + type: VERTICA + url: jdbc:vertica://localhost:5434/demo + enableCaching: true + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + permissions: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: true + id: demo-bigquery-ds + name: demo-bigquery-ds + pdm: + tables: [] + permissions: [] + schema: demo + type: BIGQUERY + url: jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;OAuthType=0;ProjectId=test + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - enableCaching: true + id: demo-vertica-ds + name: demo-vertica-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: [] + schema: demo + type: VERTICA + url: jdbc:vertica://localhost:5434/demo + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml new file mode 100644 index 000000000..3cd9ceb38 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources.yaml @@ -0,0 +1,826 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml new file mode 100644 index 000000000..8b142f94d --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_put_declarative_data_sources_connection.yaml @@ -0,0 +1,903 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSource/test + body: + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + password: demopass + username: demouser + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '19' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + successful: true + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources + body: + dataSources: + - id: demo-test-ds + name: demo-test-ds + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + enableCaching: false + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + username: demouser + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + password: demopass + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml new file mode 100644 index 000000000..892e54dde --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_register_upload_notification.yaml @@ -0,0 +1,595 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: amount_of_active_customers + type: metric + computeRatio: false + filters: [] + localIdentifier: amount_of_active_customers + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '272' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: amount_of_active_customers + format: '#,##0' + name: '# of Active Customers' + localIdentifier: dim_0 + links: + executionResult: 78c022f5a0b500df82b29f8efaca49426b9b3f8c + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/uploadNotification + body: null + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: amount_of_active_customers + type: metric + computeRatio: false + filters: [] + localIdentifier: amount_of_active_customers + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '272' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: amount_of_active_customers + format: '#,##0' + name: '# of Active Customers' + localIdentifier: dim_0 + links: + executionResult: e68b8a3c34226c7b4307871c5762470e7297ca3f diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml new file mode 100644 index 000000000..f3416af99 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_scan_schemata.yaml @@ -0,0 +1,75 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scanSchemata + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '24' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + schemaNames: + - demo diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml new file mode 100644 index 000000000..c39594cac --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_and_load_and_put_declarative_pdm.yaml @@ -0,0 +1,1142 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml new file mode 100644 index 000000000..e872209f2 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_store_declarative_data_sources.yaml @@ -0,0 +1,704 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml new file mode 100644 index 000000000..a640104b6 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_declarative_data_sources.yaml @@ -0,0 +1,366 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + dataSources: + - enableCaching: false + id: demo-test-ds + name: demo-test-ds + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + permissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: USE + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + username: demouser + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSource/test + body: + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + username: demouser + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '183' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + error: 'Could not initialize connection to data source; caused by org.postgresql.util.PSQLException: + FATAL: password authentication failed for user "demouser"' + successful: false + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSource/test + body: + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + password: demopass + username: demouser + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '19' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + successful: true diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.yaml new file mode 100644 index 000000000..dcb88f3dd --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_get_declarative_pdm.yaml @@ -0,0 +1,194 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.yaml new file mode 100644 index 000000000..b4685aa0a --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_put_declarative_pdm.yaml @@ -0,0 +1,521 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.yaml new file mode 100644 index 000000000..3286fc4c4 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_and_put_declarative_pdm.yaml @@ -0,0 +1,981 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan + body: + scanTables: false + scanViews: true + separator: __ + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '35' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + pdm: + tables: [] + warnings: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: + pdm: + tables: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: [] + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan + body: + scanTables: true + scanViews: false + separator: __ + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2372' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + warnings: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: + pdm: + tables: + - columns: + - dataType: NUMERIC + name: budget + isPrimaryKey: false + - dataType: STRING + name: campaign_channel_id + isPrimaryKey: true + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: NUMERIC + name: spend + isPrimaryKey: false + - dataType: STRING + name: type + isPrimaryKey: false + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: true + - dataType: STRING + name: campaign_name + isPrimaryKey: false + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + name: customer_id + isPrimaryKey: true + - dataType: STRING + name: customer_name + isPrimaryKey: false + - dataType: STRING + name: geo__state__location + isPrimaryKey: false + - dataType: STRING + name: region + isPrimaryKey: false + - dataType: STRING + name: state + isPrimaryKey: false + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + name: campaign_id + isPrimaryKey: false + referencedTableId: campaigns + referencedTableColumn: campaign_id + - dataType: INT + name: customer_id + isPrimaryKey: false + referencedTableId: customers + referencedTableColumn: customer_id + - dataType: DATE + name: date + isPrimaryKey: false + - dataType: STRING + name: order_id + isPrimaryKey: false + - dataType: STRING + name: order_line_id + isPrimaryKey: true + - dataType: STRING + name: order_status + isPrimaryKey: false + - dataType: NUMERIC + name: price + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: false + referencedTableId: products + referencedTableColumn: product_id + - dataType: NUMERIC + name: quantity + isPrimaryKey: false + - dataType: STRING + name: wdf__region + isPrimaryKey: false + - dataType: STRING + name: wdf__state + isPrimaryKey: false + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + name: category + isPrimaryKey: false + - dataType: INT + name: product_id + isPrimaryKey: true + - dataType: STRING + name: product_name + isPrimaryKey: false + id: products + path: + - demo + - products + type: TABLE + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/dataSources/demo-test-ds/physicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml new file mode 100644 index 000000000..d282364be --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model.yaml @@ -0,0 +1,277 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan + body: + scanTables: true + scanViews: false + separator: __ + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '2372' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: NUMERIC + isPrimaryKey: false + name: budget + - dataType: STRING + isPrimaryKey: true + name: campaign_channel_id + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: NUMERIC + isPrimaryKey: false + name: spend + - dataType: STRING + isPrimaryKey: false + name: type + id: campaign_channels + path: + - demo + - campaign_channels + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: campaign_id + - dataType: STRING + isPrimaryKey: false + name: campaign_name + id: campaigns + path: + - demo + - campaigns + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: true + name: customer_id + - dataType: STRING + isPrimaryKey: false + name: customer_name + - dataType: STRING + isPrimaryKey: false + name: geo__state__location + - dataType: STRING + isPrimaryKey: false + name: region + - dataType: STRING + isPrimaryKey: false + name: state + id: customers + path: + - demo + - customers + type: TABLE + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + referencedTableId: campaigns + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + referencedTableId: customers + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + referencedTableId: products + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + path: + - demo + - order_lines + type: TABLE + - columns: + - dataType: STRING + isPrimaryKey: false + name: category + - dataType: INT + isPrimaryKey: true + name: product_id + - dataType: STRING + isPrimaryKey: false + name: product_name + id: products + path: + - demo + - products + type: TABLE + warnings: [] + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan + body: + scanTables: false + scanViews: true + separator: __ + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '35' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + pdm: + tables: [] + warnings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml new file mode 100644 index 000000000..607a6ddb5 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/demo_test_scan_model_with_table_prefix.yaml @@ -0,0 +1,125 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/dataSources/demo-test-ds/scan + body: + scanTables: true + scanViews: false + separator: _ + tablePrefix: order + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '922' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + pdm: + tables: + - columns: + - dataType: INT + isPrimaryKey: false + name: campaign_id + referencedTableColumn: campaign_id + - dataType: INT + isPrimaryKey: false + name: customer_id + referencedTableColumn: customer_id + - dataType: DATE + isPrimaryKey: false + name: date + - dataType: STRING + isPrimaryKey: false + name: order_id + - dataType: STRING + isPrimaryKey: true + name: order_line_id + - dataType: STRING + isPrimaryKey: false + name: order_status + - dataType: NUMERIC + isPrimaryKey: false + name: price + - dataType: INT + isPrimaryKey: false + name: product_id + referencedTableColumn: product_id + - dataType: NUMERIC + isPrimaryKey: false + name: quantity + - dataType: STRING + isPrimaryKey: false + name: wdf__region + - dataType: STRING + isPrimaryKey: false + name: wdf__state + id: order_lines + namePrefix: order + path: + - demo + - order_lines + type: TABLE + warnings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml new file mode 100644 index 000000000..085731d8c --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/dremio.yaml @@ -0,0 +1,239 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/dremio + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: b5157d15278dd75c + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Dremio + schema: '' + type: DREMIO + url: jdbc:dremio:direct=dremio:31010 + username: demouser + password: demopass + enableCaching: true + cachePath: + - $scratch + id: dremio + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - $scratch + name: Dremio + type: DREMIO + url: jdbc:dremio:direct=dremio:31010 + schema: '' + id: dremio + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/dremio + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/dremio + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml new file mode 100644 index 000000000..d01a2be94 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/patch.yaml @@ -0,0 +1,663 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 0f9410f840fcdff5 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Test + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + username: demouser + password: demopass + enableCaching: true + cachePath: + - cache_schema + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: PATCH + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: + data: + attributes: + name: Test2 + type: POSTGRESQL + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test2 + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test2 + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml new file mode 100644 index 000000000..d175c819b --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/redshift.yaml @@ -0,0 +1,235 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: d276f03481976a0b + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Test2 + schema: demo + type: REDSHIFT + url: jdbc:redshift://aws.endpoint:5439/demoparam=value + username: demouser + password: demopass + enableCaching: false + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: false + name: Test2 + type: REDSHIFT + url: jdbc:redshift://aws.endpoint:5439/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml new file mode 100644 index 000000000..2f597e2db --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/snowflake.yaml @@ -0,0 +1,239 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 0ff1c1d9858badd1 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Test + schema: demo + type: SNOWFLAKE + url: jdbc:snowflake://gooddata.snowflakecomputing.com:443?warehouse=TIGER&db=TIGERparam=value + username: demouser + password: demopass + enableCaching: true + cachePath: + - cache_schema + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test + type: SNOWFLAKE + url: jdbc:snowflake://gooddata.snowflakecomputing.com:443/?application=GoodData_GoodDataCN&warehouse=TIGER + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/test.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/test.yaml new file mode 100644 index 000000000..d8471390b --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/test.yaml @@ -0,0 +1,332 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml new file mode 100644 index 000000000..88fc1d046 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/test_create_update.yaml @@ -0,0 +1,679 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 62f3ec6ce3ab1cd8 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Test + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + username: demouser + password: demopass + enableCaching: true + cachePath: + - cache_schema + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: true + cachePath: + - cache_schema + name: Test + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: + data: + attributes: + name: Test2 + schema: demo + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + username: demouser + password: demopass + enableCaching: false + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: false + name: Test2 + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + - attributes: + username: demouser + enableCaching: false + name: Test2 + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demoparam=value + schema: demo + id: test + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml b/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml new file mode 100644 index 000000000..aca5c5dff --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/data_sources/vertica.yaml @@ -0,0 +1,235 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 8b0d60a2730b4876 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/dataSources + body: + data: + attributes: + name: Test2 + schema: demo + type: VERTICA + url: jdbc:vertica://localhost:5433/demoparam=value + username: demouser + password: demopass + enableCaching: false + id: test + type: dataSource + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + username: demouser + enableCaching: false + name: Test2 + type: VERTICA + url: jdbc:vertica://localhost:5433/demoparam=value + schema: demo + id: test + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources/test + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/dataSources/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml new file mode 100644 index 000000000..aae5f74f4 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/organization/organization.yaml @@ -0,0 +1,147 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml new file mode 100644 index 000000000..36918eb44 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/organization/update_name.yaml @@ -0,0 +1,893 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: + data: + id: default + type: organization + attributes: + name: test_organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: test_organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: test_organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: test_organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: + data: + id: default + type: organization + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml b/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml new file mode 100644 index 000000000..1f7680aa7 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/organization/update_oidc_settings.yaml @@ -0,0 +1,897 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 175f070f-395d-42c1-b9cd-6b33b6b5309f + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: + data: + id: default + type: organization + attributes: + name: Default Organization + hostname: localhost + oauthIssuerLocation: test.com + oauthClientId: '123456' + oauthClientSecret: password + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthIssuerLocation: test.com + oauthClientId: '123456' + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthIssuerLocation: test.com + oauthClientId: '123456' + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthIssuerLocation: test.com + oauthClientId: '123456' + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: + data: + id: default + type: organization + attributes: + name: Default Organization + hostname: localhost + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml b/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml new file mode 100644 index 000000000..030ad6caf --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/permissions/get_declarative_permissions.yaml @@ -0,0 +1,178 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/permissions + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/permissions + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW diff --git a/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml b/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml new file mode 100644 index 000000000..b6b419608 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/permissions/put_declarative_permissions.yaml @@ -0,0 +1,383 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + hierarchyPermissions: [] + permissions: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions + body: + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions + body: + permissions: [] + hierarchyPermissions: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo_west/permissions + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + hierarchyPermissions: [] + permissions: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml new file mode 100644 index 000000000..8eeba3c12 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user.yaml @@ -0,0 +1,675 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/newUser?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 78803927f363d1c5 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/users + body: + data: + id: newUser + type: user + attributes: + authenticationId: newUser_auth_id + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: newUser_auth_id + id: newUser + type: user + links: + self: http://localhost:3000/api/v1/entities/users/newUser + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/newUser?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: newUser_auth_id + id: newUser + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/newUser?include=userGroups + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + - attributes: + authenticationId: newUser_auth_id + id: newUser + links: + self: http://localhost:3000/api/v1/entities/users/newUser + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/newUser + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml new file mode 100644 index 000000000..701d4f5c4 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/create_delete_user_group.yaml @@ -0,0 +1,664 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: adminQA1Group + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminQA1Group + relationships: + parents: + data: + - id: adminGroup + type: userGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/newUserGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: bfbd008f9712d311 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/userGroups + body: + data: + id: newUserGroup + type: userGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: newUserGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/newUserGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/newUserGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: newUserGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/newUserGroup?include=ALL + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: adminQA1Group + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminQA1Group + relationships: + parents: + data: + - id: adminGroup + type: userGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + - attributes: {} + id: newUserGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/newUserGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/userGroups/newUserGroup + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: adminQA1Group + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminQA1Group + relationships: + parents: + data: + - id: adminGroup + type: userGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml new file mode 100644 index 000000000..3fc5659d5 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_user_groups.yaml @@ -0,0 +1,164 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml new file mode 100644 index 000000000..d513d2152 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users.yaml @@ -0,0 +1,178 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml new file mode 100644 index 000000000..0155e7844 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_declarative_users_user_groups.yaml @@ -0,0 +1,200 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml new file mode 100644 index 000000000..a726ac769 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_user.yaml @@ -0,0 +1,91 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups diff --git a/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml b/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml new file mode 100644 index 000000000..ebb8dd078 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/get_user_group.yaml @@ -0,0 +1,79 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml new file mode 100644 index 000000000..65ce077d8 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/list_user_groups.yaml @@ -0,0 +1,118 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: adminQA1Group + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminQA1Group + relationships: + parents: + data: + - id: adminGroup + type: userGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml new file mode 100644 index 000000000..a4e57fc2b --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/list_users.yaml @@ -0,0 +1,120 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml new file mode 100644 index 000000000..316f39efa --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_user_groups.yaml @@ -0,0 +1,875 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/users + body: + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml new file mode 100644 index 000000000..4309b734b --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users.yaml @@ -0,0 +1,666 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/users + body: + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/users + body: + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml new file mode 100644 index 000000000..4acd0d455 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/load_and_put_declarative_users_user_groups.yaml @@ -0,0 +1,777 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml new file mode 100644 index 000000000..3f51b65cc --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_user_groups.yaml @@ -0,0 +1,732 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/users + body: + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml new file mode 100644 index 000000000..007ebc226 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users.yaml @@ -0,0 +1,523 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/users + body: + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/users + body: + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml new file mode 100644 index 000000000..326debe87 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/put_declarative_users_user_groups.yaml @@ -0,0 +1,634 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/userGroups + body: + userGroups: + - id: adminGroup + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo + authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + userGroups: + - id: adminGroup + type: userGroup + settings: [] + - id: demo2 + authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + userGroups: + - id: demoGroup + type: userGroup + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml new file mode 100644 index 000000000..84be75389 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_user_groups.yaml @@ -0,0 +1,450 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/userGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml new file mode 100644 index 000000000..b13f9cff1 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users.yaml @@ -0,0 +1,464 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/users + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml new file mode 100644 index 000000000..8fecf1212 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/store_declarative_users_user_groups.yaml @@ -0,0 +1,486 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/usersAndUserGroups + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + userGroups: + - id: adminGroup + - id: adminQA1Group + parents: + - id: adminGroup + type: userGroup + - id: demoGroup + - id: visitorsGroup + parents: + - id: demoGroup + type: userGroup + users: + - id: admin + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + settings: [] + userGroups: + - id: adminGroup + type: userGroup + - authId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + settings: [] + userGroups: + - id: demoGroup + type: userGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml b/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml new file mode 100644 index 000000000..07b0d5b8f --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/update_user.yaml @@ -0,0 +1,703 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: + data: + id: demo2 + type: user + attributes: + authenticationId: demo2_123 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + - id: visitorsGroup + type: userGroup + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: demo2_123 + id: demo2 + type: user + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: demo2_123 + id: demo2 + relationships: + userGroups: + data: + - id: visitorsGroup + type: userGroup + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/users/demo2 + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users/demo2?include=userGroups + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: a9fff49b25639c60 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/users + body: + data: + id: demo2 + type: user + attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + type: user + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: admin + links: + self: http://localhost:3000/api/v1/entities/users/admin + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRkZWE3MTU5Yi1kNTMwLTQ4NGYtYjgxNy0yNGEwYjBhYWRkNzYSBWxvY2Fs + id: demo + links: + self: http://localhost:3000/api/v1/entities/users/demo + relationships: + userGroups: + data: + - id: adminGroup + type: userGroup + type: user + - attributes: + authenticationId: CiRmYmNhNDkwOS04YzYxLTRmMTYtODI3NC1iNzI0Njk1Y2FmNTESBWxvY2Fs + id: demo2 + links: + self: http://localhost:3000/api/v1/entities/users/demo2 + relationships: + userGroups: + data: + - id: demoGroup + type: userGroup + type: user + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/users?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/users?include=userGroups&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml b/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml new file mode 100644 index 000000000..b5a235567 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/users/update_user_group.yaml @@ -0,0 +1,698 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: adminQA1Group + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminQA1Group + relationships: + parents: + data: + - id: adminGroup + type: userGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup + body: + data: + id: demoGroup + type: userGroup + relationships: + parents: + data: [] + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup?include=ALL + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/userGroups/demoGroup + body: + data: + id: demoGroup + type: userGroup + relationships: + parents: + data: [] + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: {} + id: demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: adminQA1Group + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminQA1Group + relationships: + parents: + data: + - id: adminGroup + type: userGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + - attributes: {} + id: visitorsGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/visitorsGroup + relationships: + parents: + data: + - id: demoGroup + type: userGroup + type: userGroup + included: + - attributes: {} + id: adminGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/adminGroup + type: userGroup + - attributes: {} + id: demoGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups/demoGroup + type: userGroup + links: + self: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=0&size=500 + next: http://localhost:3000/api/v1/entities/userGroups?include=userGroups&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml new file mode 100644 index 000000000..2d7a7f8bc --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog.yaml @@ -0,0 +1,1866 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.minute + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.hour + type: attribute + - id: date.quarter + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml new file mode 100644 index 000000000..1cb3792c8 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_availability.yaml @@ -0,0 +1,2021 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + relationships: + labels: + data: + - id: campaign_channel_id + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + relationships: + labels: + data: + - id: campaign_channels.category + type: label + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + relationships: + labels: + data: + - id: type + type: label + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + relationships: + labels: + data: + - id: campaign_id + type: label + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + relationships: + labels: + data: + - id: campaign_name + type: label + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + relationships: + labels: + data: + - id: customer_id + type: label + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + relationships: + labels: + data: + - id: customer_name + type: label + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + relationships: + labels: + data: + - id: region + type: label + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + relationships: + labels: + data: + - id: geo__state__location + type: label + - id: state + type: label + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + relationships: + labels: + data: + - id: order_id + type: label + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + relationships: + labels: + data: + - id: order_line_id + type: label + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + relationships: + labels: + data: + - id: order_status + type: label + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + relationships: + labels: + data: + - id: product_id + type: label + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + relationships: + labels: + data: + - id: product_name + type: label + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + relationships: + labels: + data: + - id: products.category + type: label + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + relationships: + labels: + data: + - id: date.minute + type: label + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + relationships: + labels: + data: + - id: date.hour + type: label + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + relationships: + labels: + data: + - id: date.day + type: label + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + relationships: + labels: + data: + - id: date.week + type: label + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + relationships: + labels: + data: + - id: date.month + type: label + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + relationships: + labels: + data: + - id: date.quarter + type: label + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + relationships: + labels: + data: + - id: date.year + type: label + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + relationships: + labels: + data: + - id: date.minuteOfHour + type: label + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + relationships: + labels: + data: + - id: date.hourOfDay + type: label + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + relationships: + labels: + data: + - id: date.dayOfWeek + type: label + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + relationships: + labels: + data: + - id: date.dayOfMonth + type: label + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + relationships: + labels: + data: + - id: date.dayOfYear + type: label + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + relationships: + labels: + data: + - id: date.weekOfYear + type: label + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + relationships: + labels: + data: + - id: date.monthOfYear + type: label + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + relationships: + labels: + data: + - id: date.quarterOfYear + type: label + type: attribute + included: + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?include=labels&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes%2Cfacts&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channels + description: Campaign channels + tags: + - Campaign channels + grain: + - id: campaign_channel_id + type: attribute + referenceProperties: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:campaign_channels + areRelationsValid: true + type: NORMAL + id: campaign_channels + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaign_channels + relationships: + attributes: + data: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: type + type: attribute + facts: + data: + - id: spend + type: fact + - id: budget + type: fact + type: dataset + - attributes: + title: Campaigns + description: Campaigns + tags: + - Campaigns + grain: + - id: campaign_id + type: attribute + dataSourceTableId: demo-test-ds:campaigns + areRelationsValid: true + type: NORMAL + id: campaigns + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/campaigns + relationships: + attributes: + data: + - id: campaign_name + type: attribute + - id: campaign_id + type: attribute + type: dataset + - attributes: + title: Customers + description: Customers + tags: + - Customers + grain: + - id: customer_id + type: attribute + dataSourceTableId: demo-test-ds:customers + areRelationsValid: true + type: NORMAL + id: customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/customers + relationships: + attributes: + data: + - id: region + type: attribute + - id: state + type: attribute + - id: customer_id + type: attribute + - id: customer_name + type: attribute + type: dataset + - attributes: + title: Order lines + description: Order lines + tags: + - Order lines + grain: + - id: order_line_id + type: attribute + referenceProperties: + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + dataSourceTableId: demo-test-ds:order_lines + areRelationsValid: true + type: NORMAL + id: order_lines + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/order_lines + relationships: + attributes: + data: + - id: order_id + type: attribute + - id: order_status + type: attribute + - id: order_line_id + type: attribute + facts: + data: + - id: quantity + type: fact + - id: price + type: fact + type: dataset + - attributes: + title: Products + description: Products + tags: + - Products + grain: + - id: product_id + type: attribute + dataSourceTableId: demo-test-ds:products + areRelationsValid: true + type: NORMAL + id: products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/products + relationships: + attributes: + data: + - id: product_id + type: attribute + - id: product_name + type: attribute + - id: products.category + type: attribute + type: dataset + - attributes: + title: Date + description: '' + tags: + - Date + areRelationsValid: true + type: DATE + id: date + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets/date + relationships: + attributes: + data: + - id: date.hourOfDay + type: attribute + - id: date.year + type: attribute + - id: date.weekOfYear + type: attribute + - id: date.monthOfYear + type: attribute + - id: date.dayOfWeek + type: attribute + - id: date.dayOfYear + type: attribute + - id: date.day + type: attribute + - id: date.minuteOfHour + type: attribute + - id: date.quarterOfYear + type: attribute + - id: date.month + type: attribute + - id: date.week + type: attribute + - id: date.minute + type: attribute + - id: date.dayOfMonth + type: attribute + - id: date.hour + type: attribute + - id: date.quarter + type: attribute + type: dataset + included: + - attributes: + title: Product id + description: Product id + tags: + - Products + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/datasets?include=attributes,facts&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/computeValidObjects + body: + afm: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: campaign_spend + type: metric + computeRatio: false + filters: [] + localIdentifier: campaign_spend + types: + - facts + - attributes + - measures + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '1502' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + items: + - id: campaign_channel_id + type: attribute + - id: campaign_channels.category + type: attribute + - id: campaign_id + type: attribute + - id: campaign_name + type: attribute + - id: type + type: attribute + - id: budget + type: fact + - id: price + type: fact + - id: quantity + type: fact + - id: spend + type: fact + - id: amount_of_active_customers + type: metric + - id: amount_of_orders + type: metric + - id: amount_of_top_customers + type: metric + - id: amount_of_valid_orders + type: metric + - id: campaign_spend + type: metric + - id: order_amount + type: metric + - id: percent_revenue + type: metric + - id: percent_revenue_from_top_10_customers + type: metric + - id: percent_revenue_from_top_10_percent_customers + type: metric + - id: percent_revenue_from_top_10_percent_products + type: metric + - id: percent_revenue_from_top_10_products + type: metric + - id: percent_revenue_in_category + type: metric + - id: percent_revenue_per_product + type: metric + - id: revenue-clothing + type: metric + - id: revenue-electronic + type: metric + - id: revenue-home + type: metric + - id: revenue-outdoor + type: metric + - id: revenue + type: metric + - id: revenue_per_customer + type: metric + - id: revenue_per_dollar_spent + type: metric + - id: revenue_top_10 + type: metric + - id: revenue_top_10_percent + type: metric + - id: total_revenue-no_filters + type: metric + - id: total_revenue + type: metric diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml new file mode 100644 index 000000000..ac20a7ab9 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_attributes.yaml @@ -0,0 +1,407 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: campaign_channel_id + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channel_id + type: attribute + - attributes: + title: Category + description: Category + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: category + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_channels.category + type: attribute + - attributes: + title: Type + description: Type + tags: + - Campaign channels + areRelationsValid: true + sourceColumn: type + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/type + type: attribute + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_id + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_id + type: attribute + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + areRelationsValid: true + sourceColumn: campaign_name + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/campaign_name + type: attribute + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_id + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_id + type: attribute + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + areRelationsValid: true + sourceColumn: customer_name + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/customer_name + type: attribute + - attributes: + title: Region + description: Region + tags: + - Customers + areRelationsValid: true + sourceColumn: region + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/region + type: attribute + - attributes: + title: State + description: State + tags: + - Customers + areRelationsValid: true + sourceColumn: state + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/state + type: attribute + - attributes: + title: Order id + description: Order id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_id + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_id + type: attribute + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_line_id + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_line_id + type: attribute + - attributes: + title: Order status + description: Order status + tags: + - Order lines + areRelationsValid: true + sourceColumn: order_status + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/order_status + type: attribute + - attributes: + title: Product id + description: Product id + tags: + - Products + areRelationsValid: true + sourceColumn: product_id + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_id + type: attribute + - attributes: + title: Product name + description: Product name + tags: + - Products + areRelationsValid: true + sourceColumn: product_name + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/product_name + type: attribute + - attributes: + title: Category + description: Category + tags: + - Products + areRelationsValid: true + sourceColumn: category + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/products.category + type: attribute + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + granularity: MINUTE + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minute + type: attribute + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + granularity: HOUR + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hour + type: attribute + - attributes: + title: Date - Date + description: Date + tags: + - Date + granularity: DAY + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.day + type: attribute + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + granularity: WEEK + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.week + type: attribute + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + granularity: MONTH + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.month + type: attribute + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + granularity: QUARTER + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarter + type: attribute + - attributes: + title: Date - Year + description: Year + tags: + - Date + granularity: YEAR + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.year + type: attribute + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + granularity: MINUTE_OF_HOUR + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.minuteOfHour + type: attribute + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + granularity: HOUR_OF_DAY + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.hourOfDay + type: attribute + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + granularity: DAY_OF_WEEK + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfWeek + type: attribute + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + granularity: DAY_OF_MONTH + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfMonth + type: attribute + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + granularity: DAY_OF_YEAR + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.dayOfYear + type: attribute + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + granularity: WEEK_OF_YEAR + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.weekOfYear + type: attribute + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + granularity: MONTH_OF_YEAR + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.monthOfYear + type: attribute + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + granularity: QUARTER_OF_YEAR + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes/date.quarterOfYear + type: attribute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/attributes?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml new file mode 100644 index 000000000..0d50d2137 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_facts.yaml @@ -0,0 +1,121 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/facts?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Budget + description: Budget + tags: + - Campaign channels + sourceColumn: budget + areRelationsValid: true + id: budget + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/budget + type: fact + - attributes: + title: Spend + description: Spend + tags: + - Campaign channels + sourceColumn: spend + areRelationsValid: true + id: spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/spend + type: fact + - attributes: + title: Price + description: Price + tags: + - Order lines + sourceColumn: price + areRelationsValid: true + id: price + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/price + type: fact + - attributes: + title: Quantity + description: Quantity + tags: + - Order lines + sourceColumn: quantity + areRelationsValid: true + id: quantity + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts/quantity + type: fact + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/facts?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/facts?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml new file mode 100644 index 000000000..0df01fa6d --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_labels.yaml @@ -0,0 +1,464 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/labels?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + primary: true + sourceColumn: campaign_channel_id + valueType: TEXT + areRelationsValid: true + id: campaign_channel_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channel_id + type: label + - attributes: + title: Category + description: Category + tags: + - Campaign channels + primary: true + sourceColumn: category + valueType: TEXT + areRelationsValid: true + id: campaign_channels.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_channels.category + type: label + - attributes: + title: Type + description: Type + tags: + - Campaign channels + primary: true + sourceColumn: type + valueType: TEXT + areRelationsValid: true + id: type + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/type + type: label + - attributes: + title: Campaign id + description: Campaign id + tags: + - Campaigns + primary: true + sourceColumn: campaign_id + valueType: TEXT + areRelationsValid: true + id: campaign_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_id + type: label + - attributes: + title: Campaign name + description: Campaign name + tags: + - Campaigns + primary: true + sourceColumn: campaign_name + valueType: TEXT + areRelationsValid: true + id: campaign_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/campaign_name + type: label + - attributes: + title: Customer id + description: Customer id + tags: + - Customers + primary: true + sourceColumn: customer_id + valueType: TEXT + areRelationsValid: true + id: customer_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_id + type: label + - attributes: + title: Customer name + description: Customer name + tags: + - Customers + primary: true + sourceColumn: customer_name + valueType: TEXT + areRelationsValid: true + id: customer_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/customer_name + type: label + - attributes: + title: Region + description: Region + tags: + - Customers + primary: true + sourceColumn: region + valueType: TEXT + areRelationsValid: true + id: region + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/region + type: label + - attributes: + title: State + description: State + tags: + - Customers + primary: true + sourceColumn: state + valueType: TEXT + areRelationsValid: true + id: state + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/state + type: label + - attributes: + title: Location + description: Location + tags: + - Customers + primary: false + sourceColumn: geo__state__location + areRelationsValid: true + id: geo__state__location + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/geo__state__location + type: label + - attributes: + title: Order id + description: Order id + tags: + - Order lines + primary: true + sourceColumn: order_id + valueType: TEXT + areRelationsValid: true + id: order_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_id + type: label + - attributes: + title: Order line id + description: Order line id + tags: + - Order lines + primary: true + sourceColumn: order_line_id + valueType: TEXT + areRelationsValid: true + id: order_line_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_line_id + type: label + - attributes: + title: Order status + description: Order status + tags: + - Order lines + primary: true + sourceColumn: order_status + valueType: TEXT + areRelationsValid: true + id: order_status + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/order_status + type: label + - attributes: + title: Product id + description: Product id + tags: + - Products + primary: true + sourceColumn: product_id + valueType: TEXT + areRelationsValid: true + id: product_id + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_id + type: label + - attributes: + title: Product name + description: Product name + tags: + - Products + primary: true + sourceColumn: product_name + valueType: TEXT + areRelationsValid: true + id: product_name + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/product_name + type: label + - attributes: + title: Category + description: Category + tags: + - Products + primary: true + sourceColumn: category + valueType: TEXT + areRelationsValid: true + id: products.category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/products.category + type: label + - attributes: + title: Date - Minute + description: Minute + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.minute + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minute + type: label + - attributes: + title: Date - Hour + description: Hour + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.hour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hour + type: label + - attributes: + title: Date - Date + description: Date + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.day + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.day + type: label + - attributes: + title: Date - Week/Year + description: Week and Year (W52/2020) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.week + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.week + type: label + - attributes: + title: Date - Month/Year + description: Month and Year (12/2020) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.month + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.month + type: label + - attributes: + title: Date - Quarter/Year + description: Quarter and Year (Q1/2020) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.quarter + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarter + type: label + - attributes: + title: Date - Year + description: Year + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.year + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.year + type: label + - attributes: + title: Date - Minute of Hour + description: Generic Minute of the Hour(MI1-MI60) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.minuteOfHour + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.minuteOfHour + type: label + - attributes: + title: Date - Hour of Day + description: Generic Hour of the Day(H1-H24) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.hourOfDay + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.hourOfDay + type: label + - attributes: + title: Date - Day of Week + description: Generic Day of the Week (D1-D7) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.dayOfWeek + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfWeek + type: label + - attributes: + title: Date - Day of Month + description: Generic Day of the Month (D1-D31) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.dayOfMonth + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfMonth + type: label + - attributes: + title: Date - Day of Year + description: Generic Day of the Year (D1-D366) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.dayOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.dayOfYear + type: label + - attributes: + title: Date - Week of Year + description: Generic Week (W1-W53) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.weekOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.weekOfYear + type: label + - attributes: + title: Date - Month of Year + description: Generic Month (M1-M12) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.monthOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.monthOfYear + type: label + - attributes: + title: Date - Quarter of Year + description: Generic Quarter (Q1-Q4) + tags: + - Date + primary: true + sourceColumn: '' + areRelationsValid: true + id: date.quarterOfYear + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels/date.quarterOfYear + type: label + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/labels?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/labels?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml new file mode 100644 index 000000000..d8471390b --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_catalog_list_metrics.yaml @@ -0,0 +1,332 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + title: '# of Active Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_active_customers + type: metric + - attributes: + title: '# of Orders' + areRelationsValid: true + content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_orders + type: metric + - attributes: + title: '# of Top Customers' + areRelationsValid: true + content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_top_customers + type: metric + - attributes: + title: '# of Valid Orders' + description: '' + areRelationsValid: true + content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/amount_of_valid_orders + type: metric + - attributes: + title: Campaign Spend + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/campaign_spend + type: metric + - attributes: + title: Order Amount + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/order_amount + type: metric + - attributes: + title: '% Revenue' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue + type: metric + - attributes: + title: '% Revenue from Top 10 Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Customers' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_customers + type: metric + - attributes: + title: '% Revenue from Top 10% Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_percent_products + type: metric + - attributes: + title: '% Revenue from Top 10 Products' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_from_top_10_products + type: metric + - attributes: + title: '% Revenue in Category' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_in_category + type: metric + - attributes: + title: '% Revenue per Product' + areRelationsValid: true + content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/percent_revenue_per_product + type: metric + - attributes: + title: Revenue + description: '' + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue + type: metric + - attributes: + title: Revenue (Clothing) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-clothing + type: metric + - attributes: + title: Revenue (Electronic) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-electronic + type: metric + - attributes: + title: Revenue (Home) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-home + type: metric + - attributes: + title: Revenue (Outdoor) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue-outdoor + type: metric + - attributes: + title: Revenue per Customer + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_customer + type: metric + - attributes: + title: Revenue per Dollar Spent + areRelationsValid: true + content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_per_dollar_spent + type: metric + - attributes: + title: Revenue / Top 10 + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10 + type: metric + - attributes: + title: Revenue / Top 10% + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/revenue_top_10_percent + type: metric + - attributes: + title: Total Revenue + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue + type: metric + - attributes: + title: Total Revenue (No Filters) + areRelationsValid: true + content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics/total_revenue-no_filters + type: metric + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces/demo/metrics?page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml new file mode 100644 index 000000000..ae753466a --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_analytics_model.yaml @@ -0,0 +1,1380 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml new file mode 100644 index 000000000..6d528ab8f --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_declarative_ldm.yaml @@ -0,0 +1,340 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml new file mode 100644 index 000000000..d7d71655c --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph.yaml @@ -0,0 +1,1191 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/dependentEntitiesGraph + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + graph: + edges: + - - id: campaign_channel_id + type: attribute + - id: campaign_channels + type: dataset + - - id: campaign_channels.category + type: attribute + - id: campaign_channels + type: dataset + - - id: campaign_id + type: attribute + - id: campaigns + type: dataset + - - id: campaign_name + type: attribute + - id: campaigns + type: dataset + - - id: customer_id + type: attribute + - id: customers + type: dataset + - - id: customer_id + type: attribute + - id: percent_revenue_from_top_10_customers + type: metric + - - id: customer_id + type: attribute + - id: revenue_per_customer + type: metric + - - id: customer_id + type: attribute + - id: percent_revenue_from_top_10_percent_customers + type: metric + - - id: customer_id + type: attribute + - id: amount_of_active_customers + type: metric + - - id: customer_id + type: attribute + - id: amount_of_top_customers + type: metric + - - id: customer_name + type: attribute + - id: customers + type: dataset + - - id: date.day + type: attribute + - id: date + type: dataset + - - id: date.dayOfMonth + type: attribute + - id: date + type: dataset + - - id: date.dayOfWeek + type: attribute + - id: date + type: dataset + - - id: date.dayOfYear + type: attribute + - id: date + type: dataset + - - id: date.hour + type: attribute + - id: date + type: dataset + - - id: date.hourOfDay + type: attribute + - id: date + type: dataset + - - id: date.minute + type: attribute + - id: date + type: dataset + - - id: date.minuteOfHour + type: attribute + - id: date + type: dataset + - - id: date.month + type: attribute + - id: date + type: dataset + - - id: date.monthOfYear + type: attribute + - id: date + type: dataset + - - id: date.quarter + type: attribute + - id: date + type: dataset + - - id: date.quarterOfYear + type: attribute + - id: date + type: dataset + - - id: date.week + type: attribute + - id: date + type: dataset + - - id: date.weekOfYear + type: attribute + - id: date + type: dataset + - - id: date.year + type: attribute + - id: date + type: dataset + - - id: date.year + type: attribute + - id: product_revenue_comparison-over_previous_period + type: visualizationObject + - - id: order_id + type: attribute + - id: order_lines + type: dataset + - - id: order_id + type: attribute + - id: amount_of_orders + type: metric + - - id: order_line_id + type: attribute + - id: order_lines + type: dataset + - - id: order_line_id + type: attribute + - id: amount_of_active_customers + type: metric + - - id: order_status + type: attribute + - id: order_lines + type: dataset + - - id: product_id + type: attribute + - id: percent_revenue_from_top_10_products + type: metric + - - id: product_id + type: attribute + - id: percent_revenue_per_product + type: metric + - - id: product_id + type: attribute + - id: products + type: dataset + - - id: product_id + type: attribute + - id: percent_revenue_from_top_10_percent_products + type: metric + - - id: product_name + type: attribute + - id: products + type: dataset + - - id: products.category + type: attribute + - id: percent_revenue_in_category + type: metric + - - id: products.category + type: attribute + - id: products + type: dataset + - - id: region + type: attribute + - id: customers + type: dataset + - - id: state + type: attribute + - id: customers + type: dataset + - - id: type + type: attribute + - id: campaign_channels + type: dataset + - - id: dashboard_plugin_1 + type: dashboardPlugin + - id: dashboard_plugin + type: analyticalDashboard + - - id: campaigns + type: dataset + - id: campaign_channels + type: dataset + - - id: campaigns + type: dataset + - id: order_lines + type: dataset + - - id: customers + type: dataset + - id: order_lines + type: dataset + - - id: date + type: dataset + - id: percentage_of_customers_by_region + type: visualizationObject + - - id: date + type: dataset + - id: customers_trend + type: visualizationObject + - - id: date + type: dataset + - id: revenue_trend + type: visualizationObject + - - id: date + type: dataset + - id: product_and_category + type: analyticalDashboard + - - id: date + type: dataset + - id: order_lines + type: dataset + - - id: date + type: dataset + - id: product_revenue_comparison-over_previous_period + type: visualizationObject + - - id: date + type: dataset + - id: revenue_by_category_trend + type: visualizationObject + - - id: products + type: dataset + - id: order_lines + type: dataset + - - id: budget + type: fact + - id: campaign_channels + type: dataset + - - id: price + type: fact + - id: order_amount + type: metric + - - id: price + type: fact + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: price + type: fact + - id: order_lines + type: dataset + - - id: quantity + type: fact + - id: order_amount + type: metric + - - id: quantity + type: fact + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: quantity + type: fact + - id: order_lines + type: dataset + - - id: spend + type: fact + - id: campaign_spend + type: metric + - - id: spend + type: fact + - id: campaign_channels + type: dataset + - - id: campaign_name_filter + type: filterContext + - id: campaign + type: analyticalDashboard + - - id: campaign_name_filter + type: filterContext + - id: dashboard_plugin + type: analyticalDashboard + - - id: region_filter + type: filterContext + - id: product_and_category + type: analyticalDashboard + - - id: campaign_channel_id + type: label + - id: campaign_channel_id + type: attribute + - - id: campaign_channels.category + type: label + - id: campaign_spend + type: visualizationObject + - - id: campaign_channels.category + type: label + - id: campaign_channels.category + type: attribute + - - id: campaign_id + type: label + - id: campaign_id + type: attribute + - - id: campaign_name + type: label + - id: campaign_name + type: attribute + - - id: campaign_name + type: label + - id: campaign_spend + type: visualizationObject + - - id: campaign_name + type: label + - id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + - - id: campaign_name + type: label + - id: campaign_name_filter + type: filterContext + - - id: customer_id + type: label + - id: customer_id + type: attribute + - - id: customer_name + type: label + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: customer_name + type: label + - id: top_10_customers + type: visualizationObject + - - id: customer_name + type: label + - id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + - - id: customer_name + type: label + - id: customer_name + type: attribute + - - id: date.day + type: label + - id: date.day + type: attribute + - - id: date.dayOfMonth + type: label + - id: date.dayOfMonth + type: attribute + - - id: date.dayOfWeek + type: label + - id: date.dayOfWeek + type: attribute + - - id: date.dayOfYear + type: label + - id: date.dayOfYear + type: attribute + - - id: date.hour + type: label + - id: date.hour + type: attribute + - - id: date.hourOfDay + type: label + - id: date.hourOfDay + type: attribute + - - id: date.minute + type: label + - id: date.minute + type: attribute + - - id: date.minuteOfHour + type: label + - id: date.minuteOfHour + type: attribute + - - id: date.month + type: label + - id: customers_trend + type: visualizationObject + - - id: date.month + type: label + - id: revenue_trend + type: visualizationObject + - - id: date.month + type: label + - id: date.month + type: attribute + - - id: date.month + type: label + - id: percentage_of_customers_by_region + type: visualizationObject + - - id: date.month + type: label + - id: revenue_by_category_trend + type: visualizationObject + - - id: date.monthOfYear + type: label + - id: date.monthOfYear + type: attribute + - - id: date.quarter + type: label + - id: date.quarter + type: attribute + - - id: date.quarterOfYear + type: label + - id: date.quarterOfYear + type: attribute + - - id: date.week + type: label + - id: date.week + type: attribute + - - id: date.weekOfYear + type: label + - id: date.weekOfYear + type: attribute + - - id: date.year + type: label + - id: date.year + type: attribute + - - id: geo__state__location + type: label + - id: state + type: attribute + - - id: order_id + type: label + - id: order_id + type: attribute + - - id: order_line_id + type: label + - id: order_line_id + type: attribute + - - id: order_status + type: label + - id: amount_of_valid_orders + type: metric + - - id: order_status + type: label + - id: revenue + type: metric + - - id: order_status + type: label + - id: order_status + type: attribute + - - id: product_id + type: label + - id: product_id + type: attribute + - - id: product_name + type: label + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: product_name + type: label + - id: product_saleability + type: visualizationObject + - - id: product_name + type: label + - id: revenue_by_product + type: visualizationObject + - - id: product_name + type: label + - id: product_categories_pie_chart + type: visualizationObject + - - id: product_name + type: label + - id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + - - id: product_name + type: label + - id: product_name + type: attribute + - - id: product_name + type: label + - id: top_10_products + type: visualizationObject + - - id: product_name + type: label + - id: product_breakdown + type: visualizationObject + - - id: product_name + type: label + - id: product_revenue_comparison-over_previous_period + type: visualizationObject + - - id: products.category + type: label + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: products.category + type: label + - id: product_categories_pie_chart + type: visualizationObject + - - id: products.category + type: label + - id: revenue-home + type: metric + - - id: products.category + type: label + - id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + - - id: products.category + type: label + - id: revenue-clothing + type: metric + - - id: products.category + type: label + - id: revenue-outdoor + type: metric + - - id: products.category + type: label + - id: top_10_products + type: visualizationObject + - - id: products.category + type: label + - id: revenue-electronic + type: metric + - - id: products.category + type: label + - id: product_breakdown + type: visualizationObject + - - id: products.category + type: label + - id: products.category + type: attribute + - - id: products.category + type: label + - id: product_revenue_comparison-over_previous_period + type: visualizationObject + - - id: products.category + type: label + - id: revenue_by_category_trend + type: visualizationObject + - - id: region + type: label + - id: region_filter + type: filterContext + - - id: region + type: label + - id: region + type: attribute + - - id: region + type: label + - id: percentage_of_customers_by_region + type: visualizationObject + - - id: state + type: label + - id: state + type: attribute + - - id: state + type: label + - id: top_10_customers + type: visualizationObject + - - id: type + type: label + - id: campaign_spend + type: visualizationObject + - - id: type + type: label + - id: type + type: attribute + - - id: amount_of_active_customers + type: metric + - id: customers_trend + type: visualizationObject + - - id: amount_of_active_customers + type: metric + - id: amount_of_top_customers + type: metric + - - id: amount_of_active_customers + type: metric + - id: percentage_of_customers_by_region + type: visualizationObject + - - id: amount_of_orders + type: metric + - id: amount_of_valid_orders + type: metric + - - id: amount_of_orders + type: metric + - id: product_saleability + type: visualizationObject + - - id: amount_of_orders + type: metric + - id: revenue_trend + type: visualizationObject + - - id: campaign_spend + type: metric + - id: campaign_spend + type: visualizationObject + - - id: campaign_spend + type: metric + - id: revenue_per_dollar_spent + type: metric + - - id: campaign_spend + type: metric + - id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + - - id: order_amount + type: metric + - id: revenue + type: metric + - - id: percent_revenue_in_category + type: metric + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: percent_revenue_per_product + type: metric + - id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + - - id: revenue + type: metric + - id: percent_revenue + type: metric + - - id: revenue + type: metric + - id: revenue_top_10 + type: metric + - - id: revenue + type: metric + - id: percent_revenue_per_product + type: metric + - - id: revenue + type: metric + - id: total_revenue + type: metric + - - id: revenue + type: metric + - id: revenue_by_product + type: visualizationObject + - - id: revenue + type: metric + - id: revenue_top_10_percent + type: metric + - - id: revenue + type: metric + - id: product_categories_pie_chart + type: visualizationObject + - - id: revenue + type: metric + - id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + - - id: revenue + type: metric + - id: revenue-clothing + type: metric + - - id: revenue + type: metric + - id: revenue-electronic + type: metric + - - id: revenue + type: metric + - id: revenue_trend + type: visualizationObject + - - id: revenue + type: metric + - id: product_breakdown + type: visualizationObject + - - id: revenue + type: metric + - id: percent_revenue_from_top_10_products + type: metric + - - id: revenue + type: metric + - id: revenue_and_quantity_by_product_and_category + type: visualizationObject + - - id: revenue + type: metric + - id: product_saleability + type: visualizationObject + - - id: revenue + type: metric + - id: percent_revenue_from_top_10_customers + type: metric + - - id: revenue + type: metric + - id: revenue_per_customer + type: metric + - - id: revenue + type: metric + - id: revenue-home + type: metric + - - id: revenue + type: metric + - id: percent_revenue_from_top_10_percent_products + type: metric + - - id: revenue + type: metric + - id: revenue_per_dollar_spent + type: metric + - - id: revenue + type: metric + - id: revenue-outdoor + type: metric + - - id: revenue + type: metric + - id: percent_revenue_in_category + type: metric + - - id: revenue + type: metric + - id: percent_revenue_from_top_10_percent_customers + type: metric + - - id: revenue + type: metric + - id: amount_of_top_customers + type: metric + - - id: revenue + type: metric + - id: product_revenue_comparison-over_previous_period + type: visualizationObject + - - id: revenue + type: metric + - id: revenue_by_category_trend + type: visualizationObject + - - id: revenue_per_customer + type: metric + - id: customers_trend + type: visualizationObject + - - id: revenue_per_dollar_spent + type: metric + - id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + - - id: revenue_top_10 + type: metric + - id: percent_revenue_from_top_10_products + type: metric + - - id: revenue_top_10 + type: metric + - id: top_10_customers + type: visualizationObject + - - id: revenue_top_10 + type: metric + - id: top_10_products + type: visualizationObject + - - id: revenue_top_10 + type: metric + - id: percent_revenue_from_top_10_customers + type: metric + - - id: revenue_top_10_percent + type: metric + - id: percent_revenue_from_top_10_percent_customers + type: metric + - - id: revenue_top_10_percent + type: metric + - id: percent_revenue_from_top_10_percent_products + type: metric + - - id: total_revenue + type: metric + - id: percent_revenue + type: metric + - - id: total_revenue + type: metric + - id: total_revenue-no_filters + type: metric + - - id: campaign_spend + type: visualizationObject + - id: campaign + type: analyticalDashboard + - - id: customers_trend + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + - - id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + - - id: product_breakdown + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + - - id: product_categories_pie_chart + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + - - id: product_saleability + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + - - id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + - id: campaign + type: analyticalDashboard + - - id: revenue_trend + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + - - id: top_10_products + type: visualizationObject + - id: dashboard_plugin + type: analyticalDashboard + - - id: top_10_products + type: visualizationObject + - id: product_and_category + type: analyticalDashboard + nodes: + - id: campaign + title: Campaign + type: analyticalDashboard + - id: dashboard_plugin + title: Dashboard plugin + type: analyticalDashboard + - id: product_and_category + title: Product & Category + type: analyticalDashboard + - id: campaign_channel_id + title: Campaign channel id + type: attribute + - id: campaign_channels.category + title: Category + type: attribute + - id: campaign_id + title: Campaign id + type: attribute + - id: campaign_name + title: Campaign name + type: attribute + - id: customer_id + title: Customer id + type: attribute + - id: customer_name + title: Customer name + type: attribute + - id: date.day + title: Date - Date + type: attribute + - id: date.dayOfMonth + title: Date - Day of Month + type: attribute + - id: date.dayOfWeek + title: Date - Day of Week + type: attribute + - id: date.dayOfYear + title: Date - Day of Year + type: attribute + - id: date.hour + title: Date - Hour + type: attribute + - id: date.hourOfDay + title: Date - Hour of Day + type: attribute + - id: date.minute + title: Date - Minute + type: attribute + - id: date.minuteOfHour + title: Date - Minute of Hour + type: attribute + - id: date.month + title: Date - Month/Year + type: attribute + - id: date.monthOfYear + title: Date - Month of Year + type: attribute + - id: date.quarter + title: Date - Quarter/Year + type: attribute + - id: date.quarterOfYear + title: Date - Quarter of Year + type: attribute + - id: date.week + title: Date - Week/Year + type: attribute + - id: date.weekOfYear + title: Date - Week of Year + type: attribute + - id: date.year + title: Date - Year + type: attribute + - id: order_id + title: Order id + type: attribute + - id: order_line_id + title: Order line id + type: attribute + - id: order_status + title: Order status + type: attribute + - id: product_id + title: Product id + type: attribute + - id: product_name + title: Product name + type: attribute + - id: products.category + title: Category + type: attribute + - id: region + title: Region + type: attribute + - id: state + title: State + type: attribute + - id: type + title: Type + type: attribute + - id: dashboard_plugin_1 + title: dashboard_plugin_1 + type: dashboardPlugin + - id: dashboard_plugin_2 + title: dashboard_plugin_2 + type: dashboardPlugin + - id: campaign_channels + title: Campaign channels + type: dataset + - id: campaigns + title: Campaigns + type: dataset + - id: customers + title: Customers + type: dataset + - id: date + title: Date + type: dataset + - id: order_lines + title: Order lines + type: dataset + - id: products + title: Products + type: dataset + - id: budget + title: Budget + type: fact + - id: price + title: Price + type: fact + - id: quantity + title: Quantity + type: fact + - id: spend + title: Spend + type: fact + - id: campaign_name_filter + title: filterContext + type: filterContext + - id: region_filter + title: filterContext + type: filterContext + - id: campaign_channel_id + title: Campaign channel id + type: label + - id: campaign_channels.category + title: Category + type: label + - id: campaign_id + title: Campaign id + type: label + - id: campaign_name + title: Campaign name + type: label + - id: customer_id + title: Customer id + type: label + - id: customer_name + title: Customer name + type: label + - id: date.day + title: Date - Date + type: label + - id: date.dayOfMonth + title: Date - Day of Month + type: label + - id: date.dayOfWeek + title: Date - Day of Week + type: label + - id: date.dayOfYear + title: Date - Day of Year + type: label + - id: date.hour + title: Date - Hour + type: label + - id: date.hourOfDay + title: Date - Hour of Day + type: label + - id: date.minute + title: Date - Minute + type: label + - id: date.minuteOfHour + title: Date - Minute of Hour + type: label + - id: date.month + title: Date - Month/Year + type: label + - id: date.monthOfYear + title: Date - Month of Year + type: label + - id: date.quarter + title: Date - Quarter/Year + type: label + - id: date.quarterOfYear + title: Date - Quarter of Year + type: label + - id: date.week + title: Date - Week/Year + type: label + - id: date.weekOfYear + title: Date - Week of Year + type: label + - id: date.year + title: Date - Year + type: label + - id: geo__state__location + title: Location + type: label + - id: order_id + title: Order id + type: label + - id: order_line_id + title: Order line id + type: label + - id: order_status + title: Order status + type: label + - id: product_id + title: Product id + type: label + - id: product_name + title: Product name + type: label + - id: products.category + title: Category + type: label + - id: region + title: Region + type: label + - id: state + title: State + type: label + - id: type + title: Type + type: label + - id: amount_of_active_customers + title: '# of Active Customers' + type: metric + - id: amount_of_orders + title: '# of Orders' + type: metric + - id: amount_of_top_customers + title: '# of Top Customers' + type: metric + - id: amount_of_valid_orders + title: '# of Valid Orders' + type: metric + - id: campaign_spend + title: Campaign Spend + type: metric + - id: order_amount + title: Order Amount + type: metric + - id: percent_revenue + title: '% Revenue' + type: metric + - id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + type: metric + - id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + type: metric + - id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + type: metric + - id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + type: metric + - id: percent_revenue_in_category + title: '% Revenue in Category' + type: metric + - id: percent_revenue_per_product + title: '% Revenue per Product' + type: metric + - id: revenue + title: Revenue + type: metric + - id: revenue-clothing + title: Revenue (Clothing) + type: metric + - id: revenue-electronic + title: Revenue (Electronic) + type: metric + - id: revenue-home + title: Revenue (Home) + type: metric + - id: revenue-outdoor + title: Revenue (Outdoor) + type: metric + - id: revenue_per_customer + title: Revenue per Customer + type: metric + - id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + type: metric + - id: revenue_top_10 + title: Revenue / Top 10 + type: metric + - id: revenue_top_10_percent + title: Revenue / Top 10% + type: metric + - id: total_revenue + title: Total Revenue + type: metric + - id: total_revenue-no_filters + title: Total Revenue (No Filters) + type: metric + - id: campaign_spend + title: Campaign Spend + type: visualizationObject + - id: customers_trend + title: Customers Trend + type: visualizationObject + - id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + type: visualizationObject + - id: percentage_of_customers_by_region + title: Percentage of Customers by Region + type: visualizationObject + - id: product_breakdown + title: Product Breakdown + type: visualizationObject + - id: product_categories_pie_chart + title: Product Categories Pie Chart + type: visualizationObject + - id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + type: visualizationObject + - id: product_saleability + title: Product Saleability + type: visualizationObject + - id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + type: visualizationObject + - id: revenue_by_category_trend + title: Revenue by Category Trend + type: visualizationObject + - id: revenue_by_product + title: Revenue by Product + type: visualizationObject + - id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + type: visualizationObject + - id: revenue_trend + title: Revenue Trend + type: visualizationObject + - id: top_10_customers + title: Top 10 Customers + type: visualizationObject + - id: top_10_products + title: Top 10 Products + type: visualizationObject diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml new file mode 100644 index 000000000..61f3a0947 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_get_dependent_entities_graph_from_entry_points.yaml @@ -0,0 +1,91 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/dependentEntitiesGraph + body: + identifiers: + - id: campaign_channel_id + type: attribute + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + graph: + edges: + - - id: campaign_channel_id + type: attribute + - id: campaign_channels + type: dataset + nodes: + - id: campaign_channel_id + title: Campaign channel id + type: attribute + - id: campaign_channels + title: Campaign channels + type: dataset diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml new file mode 100644 index 000000000..870d3a98a --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_modify_ds_and_put_declarative_ldm.yaml @@ -0,0 +1,1848 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 1c31fb7216bda928 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: demo_testing + type: workspace + attributes: + name: demo_testing + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: demo_testing + id: demo_testing + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + username: demouser + enableCaching: false + name: demo-test-ds + type: POSTGRESQL + url: jdbc:postgresql://localhost:5432/demo + schema: demo + id: demo-test-ds + links: + self: http://localhost:3000/api/v1/entities/dataSources/demo-test-ds + type: dataSource + links: + self: http://localhost:3000/api/v1/entities/dataSources?page=0&size=500 + next: http://localhost:3000/api/v1/entities/dataSources?page=1&size=500 + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: demo_testing + id: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml new file mode 100644 index 000000000..3abcaaf44 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_analytics_model.yaml @@ -0,0 +1,5275 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 3c5a9f0bb8e504ce + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: demo_testing + type: workspace + attributes: + name: demo_testing + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: demo_testing + id: demo_testing + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/analyticsModel + body: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + properties: {} + title: Campaign Spend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + properties: {} + title: Revenue per $ vs Spend by Campaign + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: Top 10 Products + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_trend + type: visualizationObject + properties: {} + title: Revenue Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: customers_trend + type: visualizationObject + properties: {} + title: Customers Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + properties: {} + title: Product Categories Pie Chart + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_breakdown + type: visualizationObject + properties: {} + title: Product Breakdown + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_saleability + type: visualizationObject + properties: {} + title: Product Saleability + type: insight + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + properties: {} + title: '% Revenue per Product by Customer and Category' + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + granularity: GDC.time.month + to: '0' + type: relative + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: campaign_name + type: label + filterElementsBy: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + negativeSelection: true + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: region + type: label + filterElementsBy: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + negativeSelection: true + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} + BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( + "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + format: '#,##0.00%' + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + properties: {} + title: Campaign Spend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + properties: {} + title: Revenue per $ vs Spend by Campaign + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: Top 10 Products + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_trend + type: visualizationObject + properties: {} + title: Revenue Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: customers_trend + type: visualizationObject + properties: {} + title: Customers Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + properties: {} + title: Product Categories Pie Chart + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_breakdown + type: visualizationObject + properties: {} + title: Product Breakdown + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_saleability + type: visualizationObject + properties: {} + title: Product Saleability + type: insight + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + properties: {} + title: '% Revenue per Product by Customer and Category' + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + granularity: GDC.time.month + to: '0' + type: relative + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: campaign_name + type: label + filterElementsBy: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + negativeSelection: true + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: region + type: label + filterElementsBy: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + negativeSelection: true + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + format: '#,##0.00%' + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: demo_testing + id: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml new file mode 100644 index 000000000..2896f17bc --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_load_and_put_declarative_ldm.yaml @@ -0,0 +1,1491 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 3ea9d34d2ae6fe86 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: demo_testing + type: workspace + attributes: + name: demo_testing + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: demo_testing + id: demo_testing + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: demo_testing + id: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml new file mode 100644 index 000000000..196846977 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_analytics_model.yaml @@ -0,0 +1,1233 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: a72cffb595d09946 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: test_put_declarative_analytics_model + type: workspace + attributes: + name: test_put_declarative_analytics_model + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: test_put_declarative_analytics_model + id: test_put_declarative_analytics_model + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/logicalModel + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel + body: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_analytics_model/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: test_put_declarative_analytics_model + id: test_put_declarative_analytics_model + links: + self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_analytics_model + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml new file mode 100644 index 000000000..94a642ffa --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_put_declarative_ldm.yaml @@ -0,0 +1,1348 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: e66b2b665c756b44 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: test_put_declarative_ldm + type: workspace + attributes: + name: test_put_declarative_ldm + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: test_put_declarative_ldm + id: test_put_declarative_ldm + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_ldm/logicalModel + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/test_put_declarative_ldm/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: test_put_declarative_ldm + id: test_put_declarative_ldm + links: + self: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/test_put_declarative_ldm + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml new file mode 100644 index 000000000..759b0d52c --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_analytics_model.yaml @@ -0,0 +1,3042 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/analyticsModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml new file mode 100644 index 000000000..cb37f61b3 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspace_content/demo_store_declarative_ldm.yaml @@ -0,0 +1,962 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo/logicalModel + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml new file mode 100644 index 000000000..a3b85b2b1 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_create_workspace.yaml @@ -0,0 +1,795 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/test?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: ac755cde2d5dbd45 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: test + type: workspace + attributes: + name: Test + relationships: + parent: + data: + id: demo + type: workspace + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Test + id: test + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/test + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: Test + id: test + links: + self: http://localhost:3000/api/v1/entities/workspaces/test + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/test?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Test + id: test + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/test?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: Test + id: test + links: + self: http://localhost:3000/api/v1/entities/workspaces/test + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/test + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml new file mode 100644 index 000000000..b8b9be4e5 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_declarative_workspaces.yaml @@ -0,0 +1,3468 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml new file mode 100644 index 000000000..d2fdc6232 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_non_existing_workspace.yaml @@ -0,0 +1,346 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml new file mode 100644 index 000000000..d2fdc6232 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_parent_workspace.yaml @@ -0,0 +1,346 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml new file mode 100644 index 000000000..128d72d4e --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_delete_workspace.yaml @@ -0,0 +1,756 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west_california?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West California + id: demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west_california?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 01a362b779bbcfe0 + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: demo_west_california + type: workspace + attributes: + name: Demo West California + relationships: + parent: + data: + id: demo_west + type: workspace + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West California + id: demo_west_california + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml new file mode 100644 index 000000000..f8a9cbbc6 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace.yaml @@ -0,0 +1,3290 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml new file mode 100644 index 000000000..4180f67be --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspace_data_filters.yaml @@ -0,0 +1,200 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml new file mode 100644 index 000000000..e10255605 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces.yaml @@ -0,0 +1,1736 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml new file mode 100644 index 000000000..e10255605 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_declarative_workspaces_snake_case.yaml @@ -0,0 +1,1736 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml new file mode 100644 index 000000000..fd9f07c09 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_get_workspace.yaml @@ -0,0 +1,168 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo + id: demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml new file mode 100644 index 000000000..7171b4efd --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace.yaml @@ -0,0 +1,6846 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: {} + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + properties: {} + title: Campaign Spend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + properties: {} + title: Revenue per $ vs Spend by Campaign + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: Top 10 Products + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_trend + type: visualizationObject + properties: {} + title: Revenue Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: customers_trend + type: visualizationObject + properties: {} + title: Customers Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + properties: {} + title: Product Categories Pie Chart + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_breakdown + type: visualizationObject + properties: {} + title: Product Breakdown + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_saleability + type: visualizationObject + properties: {} + title: Product Saleability + type: insight + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + properties: {} + title: '% Revenue per Product by Customer and Category' + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + granularity: GDC.time.month + to: '0' + type: relative + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: campaign_name + type: label + filterElementsBy: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + negativeSelection: true + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: region + type: label + filterElementsBy: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + negativeSelection: true + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} + BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( + "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + format: '#,##0.00%' + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + properties: {} + title: Campaign Spend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + properties: {} + title: Revenue per $ vs Spend by Campaign + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: Top 10 Products + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_trend + type: visualizationObject + properties: {} + title: Revenue Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: customers_trend + type: visualizationObject + properties: {} + title: Customers Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + properties: {} + title: Product Categories Pie Chart + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_breakdown + type: visualizationObject + properties: {} + title: Product Breakdown + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_saleability + type: visualizationObject + properties: {} + title: Product Saleability + type: insight + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + properties: {} + title: '% Revenue per Product by Customer and Category' + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + granularity: GDC.time.month + to: '0' + type: relative + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: campaign_name + type: label + filterElementsBy: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + negativeSelection: true + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: region + type: label + filterElementsBy: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + negativeSelection: true + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + format: '#,##0.00%' + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} + BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( + "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml new file mode 100644 index 000000000..51bb2fc55 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspace_data_filters.yaml @@ -0,0 +1,667 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: + workspaceDataFilters: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml new file mode 100644 index 000000000..9c8039522 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_load_and_put_declarative_workspaces.yaml @@ -0,0 +1,5471 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces + body: + workspaceDataFilters: [] + workspaces: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: [] + workspaces: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + workspaces: + - id: demo + name: Demo + model: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + properties: {} + title: Campaign Spend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + properties: {} + title: Revenue per $ vs Spend by Campaign + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: Top 10 Products + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_trend + type: visualizationObject + properties: {} + title: Revenue Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: customers_trend + type: visualizationObject + properties: {} + title: Customers Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + properties: {} + title: Product Categories Pie Chart + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_breakdown + type: visualizationObject + properties: {} + title: Product Breakdown + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_saleability + type: visualizationObject + properties: {} + title: Product Saleability + type: insight + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + properties: {} + title: '% Revenue per Product by Customer and Category' + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + granularity: GDC.time.month + to: '0' + type: relative + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: campaign_name + type: label + filterElementsBy: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + negativeSelection: true + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: region + type: label + filterElementsBy: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + negativeSelection: true + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + format: '#,##0.00%' + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + settings: [] + - id: demo_west + name: Demo West + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + - id: demo_west_california + name: Demo West California + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo_west + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + properties: {} + title: Campaign Spend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + properties: {} + title: Revenue per $ vs Spend by Campaign + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: Top 10 Products + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_trend + type: visualizationObject + properties: {} + title: Revenue Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: customers_trend + type: visualizationObject + properties: {} + title: Customers Trend + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + properties: {} + title: Product Categories Pie Chart + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_breakdown + type: visualizationObject + properties: {} + title: Product Breakdown + type: insight + - size: + xl: + gridWidth: 6 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: product_saleability + type: visualizationObject + properties: {} + title: Product Saleability + type: insight + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + dateDataSet: + identifier: + id: date + type: dataset + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + properties: {} + title: '% Revenue per Product by Customer and + Category' + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + granularity: GDC.time.month + to: '0' + type: relative + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: campaign_name + type: label + filterElementsBy: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + negativeSelection: true + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + attributeElements: + uris: [] + displayForm: + identifier: + id: region + type: label + filterElementsBy: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + negativeSelection: true + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + format: '#,##0.00%' + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + workspaces: + - id: demo + name: Demo + model: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + settings: [] + - id: demo_west + name: Demo West + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + - id: demo_west_california + name: Demo West California + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo_west + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml new file mode 100644 index 000000000..45e2ea3d3 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace.yaml @@ -0,0 +1,5379 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 404 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/problem+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + detail: The requested endpoint does not exist or you do not have permission + to access it. + status: 404 + title: Not Found + traceId: 019328f1a5a4fd3d + - request: + method: POST + uri: http://localhost:3000/api/v1/entities/workspaces + body: + data: + id: demo_testing + type: workspace + attributes: + name: demo_testing + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 201 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: demo_testing + id: demo_testing + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces/demo_testing + body: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT {metric/revenue} + BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ( + "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: demo_testing + id: demo_testing + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_testing + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: DELETE + uri: http://localhost:3000/api/v1/entities/workspaces/demo_testing + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml new file mode 100644 index 000000000..611fca013 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspace_data_filters.yaml @@ -0,0 +1,524 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: + workspaceDataFilters: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml new file mode 100644 index 000000000..9570ba1ce --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_put_declarative_workspaces.yaml @@ -0,0 +1,7060 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces + body: + workspaceDataFilters: [] + workspaces: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: [] + workspaces: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + workspaces: + - id: demo + name: Demo + model: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + settings: [] + - id: demo_west + name: Demo West + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + - id: demo_west_california + name: Demo West California + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo_west + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] + - request: + method: PUT + uri: http://localhost:3000/api/v1/layout/workspaces + body: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + workspace: + id: demo + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspace: + id: demo_west + type: workspace + workspaces: + - id: demo + name: Demo + model: + ldm: + datasets: + - grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + title: Campaign channels + description: Campaign channels + attributes: + - id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + title: Campaign channel id + description: Campaign channel id + tags: + - Campaign channels + - id: campaign_channels.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Campaign channels + - id: type + labels: [] + sourceColumn: type + title: Type + description: Type + tags: + - Campaign channels + facts: + - id: budget + sourceColumn: budget + title: Budget + description: Budget + tags: + - Campaign channels + - id: spend + sourceColumn: spend + title: Spend + description: Spend + tags: + - Campaign channels + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + tags: + - Campaign channels + - grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + title: Campaigns + description: Campaigns + attributes: + - id: campaign_id + labels: [] + sourceColumn: campaign_id + title: Campaign id + description: Campaign id + tags: + - Campaigns + - id: campaign_name + labels: [] + sourceColumn: campaign_name + title: Campaign name + description: Campaign name + tags: + - Campaigns + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + tags: + - Campaigns + - grain: + - id: customer_id + type: attribute + id: customers + references: [] + title: Customers + description: Customers + attributes: + - id: customer_id + labels: [] + sourceColumn: customer_id + title: Customer id + description: Customer id + tags: + - Customers + - id: customer_name + labels: [] + sourceColumn: customer_name + title: Customer name + description: Customer name + tags: + - Customers + - id: region + labels: [] + sourceColumn: region + title: Region + description: Region + tags: + - Customers + - id: state + labels: + - id: geo__state__location + sourceColumn: geo__state__location + title: Location + description: Location + tags: + - Customers + sourceColumn: state + title: State + description: State + tags: + - Customers + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + tags: + - Customers + - grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + title: Order lines + description: Order lines + attributes: + - id: order_id + labels: [] + sourceColumn: order_id + title: Order id + description: Order id + tags: + - Order lines + - id: order_line_id + labels: [] + sourceColumn: order_line_id + title: Order line id + description: Order line id + tags: + - Order lines + - id: order_status + labels: [] + sourceColumn: order_status + title: Order status + description: Order status + tags: + - Order lines + facts: + - id: price + sourceColumn: price + title: Price + description: Price + tags: + - Order lines + - id: quantity + sourceColumn: quantity + title: Quantity + description: Quantity + tags: + - Order lines + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + tags: + - Order lines + - grain: + - id: product_id + type: attribute + id: products + references: [] + title: Products + description: Products + attributes: + - id: product_id + labels: [] + sourceColumn: product_id + title: Product id + description: Product id + tags: + - Products + - id: product_name + labels: [] + sourceColumn: product_name + title: Product name + description: Product name + tags: + - Products + - id: products.category + labels: [] + sourceColumn: category + title: Category + description: Category + tags: + - Products + facts: [] + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + tags: + - Products + dateInstances: + - granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + title: Date + description: '' + tags: + - Date + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: campaign + title: Campaign + description: '' + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + id: product_and_category + title: Product & Category + description: '' + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_1 + title: dashboard_plugin_1 + description: Testing record dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + id: dashboard_plugin_2 + title: dashboard_plugin_2 + description: Testing record dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + id: campaign_name_filter + title: filterContext + description: '' + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + id: region_filter + title: filterContext + description: '' + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: amount_of_valid_orders + title: '# of Valid Orders' + description: '' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + id: revenue + title: Revenue + description: '' + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + settings: [] + - id: demo_west + name: Demo West + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + - id: demo_west_california + name: Demo West California + model: + ldm: + datasets: [] + dateInstances: [] + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + parent: + id: demo_west + type: workspace + permissions: [] + hierarchyPermissions: [] + settings: [] + headers: + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 204 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml new file mode 100644 index 000000000..c457c626e --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace.yaml @@ -0,0 +1,3576 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces/demo + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY {attribute/products.category}, + ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY ALL + {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} IN + ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml new file mode 100644 index 000000000..c8e743411 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspace_data_filters.yaml @@ -0,0 +1,486 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaceDataFilters + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml new file mode 100644 index 000000000..e5b10a729 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_store_declarative_workspaces.yaml @@ -0,0 +1,3754 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/layout/workspaces + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + workspaceDataFilters: + - columnName: wdf__region + id: wdf__region + title: Customer region + workspace: + id: demo + type: workspace + workspaceDataFilterSettings: + - filterValues: + - West + id: region_west + title: Region West + workspace: + id: demo_west + type: workspace + - columnName: wdf__state + id: wdf__state + title: Customer state + workspace: + id: demo_west + type: workspace + workspaceDataFilterSettings: + - filterValues: + - California + id: region_west_california + title: Region West California + workspace: + id: demo_west_california + type: workspace + workspaces: + - hierarchyPermissions: + - assignee: + id: demo2 + type: user + name: MANAGE + - assignee: + id: demoGroup + type: userGroup + name: ANALYZE + id: demo + model: + analytics: + analyticalDashboards: + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Campaign Spend + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: campaign_spend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue per $ vs Spend by Campaign + description: '' + ignoreDashboardFilters: [] + insight: + identifier: + id: revenue_per_usd_vs_spend_by_campaign + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: campaign + title: Campaign + - content: + filterContextRef: + identifier: + id: campaign_name_filter + type: filterContext + layout: + sections: + - items: + - size: + xl: + gridWidth: 12 + type: IDashboardLayoutItem + widget: + description: '' + drills: [] + ignoreDashboardFilters: [] + insight: + identifier: + id: top_10_products + type: visualizationObject + properties: {} + title: DHO simple + type: insight + type: IDashboardLayoutSection + type: IDashboardLayout + plugins: + - plugin: + identifier: + id: dashboard_plugin_1 + type: dashboardPlugin + version: '2' + version: '2' + id: dashboard_plugin + title: Dashboard plugin + - content: + filterContextRef: + identifier: + id: region_filter + type: filterContext + layout: + type: IDashboardLayout + sections: + - type: IDashboardLayoutSection + items: + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Top 10 Products + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: top_10_products + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Revenue Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: revenue_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Customers Trend + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: customers_trend + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Categories Pie Chart + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_categories_pie_chart + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Breakdown + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_breakdown + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 6 + widget: + type: insight + title: Product Saleability + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: product_saleability + type: visualizationObject + drills: [] + properties: {} + - type: IDashboardLayoutItem + size: + xl: + gridWidth: 12 + widget: + type: insight + title: '% Revenue per Product by Customer and + Category' + description: '' + ignoreDashboardFilters: [] + dateDataSet: + identifier: + id: date + type: dataset + insight: + identifier: + id: percent_revenue_per_product_by_customer_and_category + type: visualizationObject + drills: [] + properties: {} + version: '2' + description: '' + id: product_and_category + title: Product & Category + dashboardPlugins: + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_1 + id: dashboard_plugin_1 + title: dashboard_plugin_1 + - content: + url: https://www.example.com + version: '2' + description: Testing record dashboard_plugin_2 + id: dashboard_plugin_2 + title: dashboard_plugin_2 + filterContexts: + - content: + filters: + - dateFilter: + from: '0' + to: '0' + granularity: GDC.time.month + type: relative + - attributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 14b0807447ef4bc28f43e4fc5c337d1d + filterElementsBy: [] + version: '2' + description: '' + id: campaign_name_filter + title: filterContext + - content: + filters: + - attributeFilter: + displayForm: + identifier: + id: region + type: label + negativeSelection: true + attributeElements: + uris: [] + localIdentifier: 2d5ef8df82444f6ba27b45f0990ee6af + filterElementsBy: [] + version: '2' + description: '' + id: region_filter + title: filterContext + metrics: + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/customer_id},{attribute/order_line_id}) + id: amount_of_active_customers + title: '# of Active Customers' + - content: + format: '#,##0' + maql: SELECT COUNT({attribute/order_id}) + id: amount_of_orders + title: '# of Orders' + - content: + format: '#,##0' + maql: 'SELECT {metric/amount_of_active_customers} WHERE (SELECT + {metric/revenue} BY {attribute/customer_id}) > 10000 ' + id: amount_of_top_customers + title: '# of Top Customers' + - content: + format: '#,##0.00' + maql: SELECT {metric/amount_of_orders} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: amount_of_valid_orders + title: '# of Valid Orders' + - content: + format: $#,##0 + maql: SELECT SUM({fact/spend}) + id: campaign_spend + title: Campaign Spend + - content: + format: $#,##0 + maql: SELECT SUM({fact/price}*{fact/quantity}) + id: order_amount + title: Order Amount + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / {metric/total_revenue} + id: percent_revenue + title: '% Revenue' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_customers + title: '% Revenue from Top 10 Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/customer_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_customers + title: '% Revenue from Top 10% Customers' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10_percent}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_percent_products + title: '% Revenue from Top 10% Products' + - content: + format: '#,##0.0%' + maql: "SELECT\n (SELECT {metric/revenue} WHERE (SELECT {metric/revenue_top_10}\ + \ BY {attribute/product_id}) > 0)\n /\n {metric/revenue}" + id: percent_revenue_from_top_10_products + title: '% Revenue from Top 10 Products' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + {attribute/products.category}, ALL OTHER) + id: percent_revenue_in_category + title: '% Revenue in Category' + - content: + format: '#,##0.0%' + maql: SELECT {metric/revenue} / (SELECT {metric/revenue} BY + ALL {attribute/product_id}) + id: percent_revenue_per_product + title: '% Revenue per Product' + - content: + format: $#,##0 + maql: SELECT {metric/order_amount} WHERE NOT ({label/order_status} + IN ("Returned", "Canceled")) + description: '' + id: revenue + title: Revenue + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Clothing") + id: revenue-clothing + title: Revenue (Clothing) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ( "Electronics") + id: revenue-electronic + title: Revenue (Electronic) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Home") + id: revenue-home + title: Revenue (Home) + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE {label/products.category} + IN ("Outdoor") + id: revenue-outdoor + title: Revenue (Outdoor) + - content: + format: $#,##0.0 + maql: SELECT AVG(SELECT {metric/revenue} BY {attribute/customer_id}) + id: revenue_per_customer + title: Revenue per Customer + - content: + format: $#,##0.0 + maql: SELECT {metric/revenue} / {metric/campaign_spend} + id: revenue_per_dollar_spent + title: Revenue per Dollar Spent + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10) OF ({metric/revenue}) + id: revenue_top_10 + title: Revenue / Top 10 + - content: + format: $#,##0 + maql: SELECT {metric/revenue} WHERE TOP(10%) OF ({metric/revenue}) + id: revenue_top_10_percent + title: Revenue / Top 10% + - content: + format: $#,##0 + maql: SELECT {metric/revenue} BY ALL OTHER + id: total_revenue + title: Total Revenue + - content: + format: $#,##0 + maql: SELECT {metric/total_revenue} WITHOUT PARENT FILTER + id: total_revenue-no_filters + title: Total Revenue (No Filters) + visualizationObjects: + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: d319bcb2d8c04442a684e3b3cd063381 + title: Campaign Spend + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_channels.category + type: label + localIdentifier: 291c085e7df8420db84117ca49f59c49 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: d9dd143d647d4d148405a60ec2cf59bc + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: type + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_channels.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: campaign_spend + title: Campaign Spend + - content: + buckets: + - items: + - measure: + alias: Active Customers + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 2ba0b87b59ca41a4b1530e81a5c1d081 + title: '# of Active Customers' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_customer + type: metric + localIdentifier: ec0606894b9f4897b7beaf1550608928 + title: Revenue per Customer + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 0de7d7f08af7480aa636857a26be72b6 + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + colorMapping: + - color: + type: guid + value: '20' + id: 2ba0b87b59ca41a4b1530e81a5c1d081 + - color: + type: guid + value: '4' + id: ec0606894b9f4897b7beaf1550608928 + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - ec0606894b9f4897b7beaf1550608928 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: customers_trend + title: Customers Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_per_product + type: metric + localIdentifier: 08d8346c1ce7438994b251991c0fbf65 + title: '% Revenue per Product' + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: b2350c06688b4da9b3833ebcce65527f + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: 7a4045fd00ac44579f52406df679435f + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 6a003ffd14994237ba64c4a02c488429 + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 75ea396d0c8b48098e31dccf8b5801d3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 7a4045fd00ac44579f52406df679435f + direction: asc + version: '2' + visualizationUrl: local:table + id: percent_revenue_per_product_by_customer_and_category + title: '% Revenue per Product by Customer and Category' + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_active_customers + type: metric + localIdentifier: 1a14cdc1293c46e89a2e25d3e741d235 + title: '# of Active Customers' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: c1feca1864244ec2ace7a9b9d7fda231 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: region + type: label + localIdentifier: 530cddbd7ca04d039e73462d81ed44d5 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: region + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + properties: + controls: + legend: + position: bottom + stackMeasuresToPercent: true + version: '2' + visualizationUrl: local:area + id: percentage_of_customers_by_region + title: Percentage of Customers by Region + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 590d332ef686468b8878ae41b23341c6 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: b166c71091864312a14c7ae8ff886ffe + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: e920a50e0bbb49788df0aac53634c1cd + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:treemap + id: product_breakdown + title: Product Breakdown + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: true + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 162b857af49d45769bc12604a5c192b9 + title: '% Revenue' + format: '#,##0.00%' + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + legend: + position: bottom + version: '2' + visualizationUrl: local:donut + id: product_categories_pie_chart + title: Product Categories Pie Chart + - content: + buckets: + - items: + - measure: + alias: Previous Period + definition: + popMeasureDefinition: + measureIdentifier: c82e025fa2db4afea9a600a424591dbe + popAttribute: + identifier: + id: date.year + type: attribute + localIdentifier: c82e025fa2db4afea9a600a424591dbe_pop + - measure: + alias: This Period + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: c82e025fa2db4afea9a600a424591dbe + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: c804ef5ba7944a5a9f360c86a9e95e9a + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -11 + granularity: GDC.time.month + to: 0 + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + stackMeasures: false + xaxis: + name: + visible: false + yaxis: + name: + visible: false + version: '2' + visualizationUrl: local:column + id: product_revenue_comparison-over_previous_period + title: Product Revenue Comparison (over previous period) + - content: + buckets: + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: aeb5d51a162d4b59aba3bd6ddebcc780 + title: '# of Orders' + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 94b3edd3a73c4a48a4d13bbe9442cc98 + title: Revenue + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: d2a991bdd123448eb2be73d79f1180c4 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: + controls: + dataLabels: + visible: auto + grid: + enabled: true + version: '2' + visualizationUrl: local:scatter + id: product_saleability + title: Product Saleability + - content: + buckets: + - items: + - measure: + alias: Items Sold + definition: + measureDefinition: + aggregation: sum + filters: [] + item: + identifier: + id: quantity + type: fact + format: '#,##0.00' + localIdentifier: 29486504dd0e4a36a18b0b2f792d3a46 + title: Sum of Quantity + - measure: + definition: + measureDefinition: + aggregation: avg + filters: [] + item: + identifier: + id: price + type: fact + format: '#,##0.00' + localIdentifier: aa6391acccf1452f8011201aef9af492 + title: Avg Price + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: percent_revenue_in_category + type: metric + localIdentifier: 2cd39539d8da46c9883e63caa3ba7cc0 + title: '% Revenue in Category' + - measure: + alias: Total Revenue + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 9a0f08331c094c7facf2a0b4f418de0a + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 06bc6b3b9949466494e4f594c11f1bff + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 192668bfb6a74e9ab7b5d1ce7cb68ea3 + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: {} + sorts: + - attributeSortItem: + attributeIdentifier: 06bc6b3b9949466494e4f594c11f1bff + direction: asc + version: '2' + visualizationUrl: local:table + id: revenue_and_quantity_by_product_and_category + title: Revenue and Quantity by Product and Category + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 7df6c34387744d69b23ec92e1a5cf543 + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 4bb4fc1986c546de9ad976e6ec23fed4 + localIdentifier: trend + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: 34bddcb1cd024902a82396216b0fa9d8 + localIdentifier: segment + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + granularity: GDC.time.year + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:line + id: revenue_by_category_trend + title: Revenue by Category Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 4ae3401bdbba4938afe983df4ba04e1c + title: Revenue + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 1c8ba72dbfc84ddd913bf81dc355c427 + localIdentifier: view + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + properties: {} + version: '2' + visualizationUrl: local:bar + id: revenue_by_product + title: Revenue by Product + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: campaign_spend + type: metric + localIdentifier: 13a50d811e474ac6808d8da7f4673b35 + title: Campaign Spend + localIdentifier: measures + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_per_dollar_spent + type: metric + localIdentifier: a0f15e82e6334280a44dbedc7d086e7c + title: Revenue per Dollar Spent + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: campaign_name + type: label + localIdentifier: 1d9fa968bafb423eb29c938dfb1207ff + localIdentifier: attribute + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: campaign_name + type: label + notIn: + values: [] + properties: + controls: + xaxis: + min: '0' + yaxis: + min: '0' + version: '2' + visualizationUrl: local:scatter + id: revenue_per_usd_vs_spend_by_campaign + title: Revenue per $ vs Spend by Campaign + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: revenue + type: metric + localIdentifier: 60c854969a9c4c278ab596d99c222e92 + title: Revenue + localIdentifier: measures + - items: + - measure: + alias: Number of Orders + definition: + measureDefinition: + computeRatio: false + filters: [] + item: + identifier: + id: amount_of_orders + type: metric + localIdentifier: c2fa7ef48cc54af99f8c280eb451e051 + title: '# of Orders' + localIdentifier: secondary_measures + - items: + - attribute: + displayForm: + identifier: + id: date.month + type: label + localIdentifier: 413ac374b65648fa96826ca01d47bdda + localIdentifier: view + filters: + - relativeDateFilter: + dataSet: + identifier: + id: date + type: dataset + from: -3 + granularity: GDC.time.quarter + to: 0 + properties: + controls: + dualAxis: true + legend: + position: bottom + primaryChartType: column + secondaryChartType: line + secondary_yaxis: + measures: + - c2fa7ef48cc54af99f8c280eb451e051 + xaxis: + name: + visible: false + rotation: auto + version: '2' + visualizationUrl: local:combo2 + id: revenue_trend + title: Revenue Trend + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 3f127ccfe57a40399e23f9ae2a4ad810 + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: customer_name + type: label + localIdentifier: f4e39e24f11e4827a191c30d65c89d2c + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: state + type: label + localIdentifier: bbccd430176d428caed54c99afc9589e + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: customer_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: state + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_customers + title: Top 10 Customers + - content: + buckets: + - items: + - measure: + definition: + measureDefinition: + filters: [] + item: + identifier: + id: revenue_top_10 + type: metric + localIdentifier: 77dc71bbac92412bac5f94284a5919df + title: Revenue / Top 10 + localIdentifier: measures + - items: + - attribute: + displayForm: + identifier: + id: product_name + type: label + localIdentifier: 781952e728204dcf923142910cc22ae2 + localIdentifier: view + - items: + - attribute: + displayForm: + identifier: + id: products.category + type: label + localIdentifier: fe513cef1c6244a5ac21c5f49c56b108 + localIdentifier: stack + filters: + - negativeAttributeFilter: + displayForm: + identifier: + id: product_name + type: label + notIn: + values: [] + - negativeAttributeFilter: + displayForm: + identifier: + id: products.category + type: label + notIn: + values: [] + properties: + controls: + legend: + position: bottom + version: '2' + visualizationUrl: local:bar + id: top_10_products + title: Top 10 Products + ldm: + datasets: + - attributes: + - description: Campaign channel id + id: campaign_channel_id + labels: [] + sourceColumn: campaign_channel_id + tags: + - Campaign channels + title: Campaign channel id + - description: Category + id: campaign_channels.category + labels: [] + sourceColumn: category + tags: + - Campaign channels + title: Category + - description: Type + id: type + labels: [] + sourceColumn: type + tags: + - Campaign channels + title: Type + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaign_channels + type: dataSource + description: Campaign channels + facts: + - description: Budget + id: budget + sourceColumn: budget + tags: + - Campaign channels + title: Budget + - description: Spend + id: spend + sourceColumn: spend + tags: + - Campaign channels + title: Spend + grain: + - id: campaign_channel_id + type: attribute + id: campaign_channels + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + tags: + - Campaign channels + title: Campaign channels + - attributes: + - description: Campaign id + id: campaign_id + labels: [] + sourceColumn: campaign_id + tags: + - Campaigns + title: Campaign id + - description: Campaign name + id: campaign_name + labels: [] + sourceColumn: campaign_name + tags: + - Campaigns + title: Campaign name + dataSourceTableId: + dataSourceId: demo-test-ds + id: campaigns + type: dataSource + description: Campaigns + facts: [] + grain: + - id: campaign_id + type: attribute + id: campaigns + references: [] + tags: + - Campaigns + title: Campaigns + - attributes: + - description: Customer id + id: customer_id + labels: [] + sourceColumn: customer_id + tags: + - Customers + title: Customer id + - description: Customer name + id: customer_name + labels: [] + sourceColumn: customer_name + tags: + - Customers + title: Customer name + - description: Region + id: region + labels: [] + sourceColumn: region + tags: + - Customers + title: Region + - description: State + id: state + labels: + - description: Location + id: geo__state__location + sourceColumn: geo__state__location + tags: + - Customers + title: Location + sourceColumn: state + tags: + - Customers + title: State + dataSourceTableId: + dataSourceId: demo-test-ds + id: customers + type: dataSource + description: Customers + facts: [] + grain: + - id: customer_id + type: attribute + id: customers + references: [] + tags: + - Customers + title: Customers + - attributes: + - description: Order id + id: order_id + labels: [] + sourceColumn: order_id + tags: + - Order lines + title: Order id + - description: Order line id + id: order_line_id + labels: [] + sourceColumn: order_line_id + tags: + - Order lines + title: Order line id + - description: Order status + id: order_status + labels: [] + sourceColumn: order_status + tags: + - Order lines + title: Order status + dataSourceTableId: + dataSourceId: demo-test-ds + id: order_lines + type: dataSource + description: Order lines + facts: + - description: Price + id: price + sourceColumn: price + tags: + - Order lines + title: Price + - description: Quantity + id: quantity + sourceColumn: quantity + tags: + - Order lines + title: Quantity + grain: + - id: order_line_id + type: attribute + id: order_lines + references: + - identifier: + id: campaigns + type: dataset + multivalue: false + sourceColumns: + - campaign_id + - identifier: + id: customers + type: dataset + multivalue: false + sourceColumns: + - customer_id + - identifier: + id: date + type: dataset + multivalue: false + sourceColumns: + - date + - identifier: + id: products + type: dataset + multivalue: false + sourceColumns: + - product_id + tags: + - Order lines + title: Order lines + - attributes: + - description: Product id + id: product_id + labels: [] + sourceColumn: product_id + tags: + - Products + title: Product id + - description: Product name + id: product_name + labels: [] + sourceColumn: product_name + tags: + - Products + title: Product name + - description: Category + id: products.category + labels: [] + sourceColumn: category + tags: + - Products + title: Category + dataSourceTableId: + dataSourceId: demo-test-ds + id: products + type: dataSource + description: Products + facts: [] + grain: + - id: product_id + type: attribute + id: products + references: [] + tags: + - Products + title: Products + dateInstances: + - description: '' + granularities: + - MINUTE + - HOUR + - DAY + - WEEK + - MONTH + - QUARTER + - YEAR + - MINUTE_OF_HOUR + - HOUR_OF_DAY + - DAY_OF_WEEK + - DAY_OF_MONTH + - DAY_OF_YEAR + - WEEK_OF_YEAR + - MONTH_OF_YEAR + - QUARTER_OF_YEAR + granularitiesFormatting: + titleBase: '' + titlePattern: '%titleBase - %granularityTitle' + id: date + tags: + - Date + title: Date + name: Demo + permissions: + - assignee: + id: demo2 + type: user + name: ANALYZE + - assignee: + id: demoGroup + type: userGroup + name: VIEW + settings: [] + - hierarchyPermissions: [] + id: demo_west + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West + parent: + id: demo + type: workspace + permissions: [] + settings: [] + - hierarchyPermissions: [] + id: demo_west_california + model: + analytics: + analyticalDashboards: [] + dashboardPlugins: [] + filterContexts: [] + metrics: [] + visualizationObjects: [] + ldm: + datasets: [] + dateInstances: [] + name: Demo West California + parent: + id: demo_west + type: workspace + permissions: [] + settings: [] + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/organization + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 302 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Location: + - /api/v1/entities/admin/organizations/default + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: '' + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/admin/organizations/default + body: null + headers: + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Default Organization + hostname: localhost + oauthClientId: 0b514f03-5153-4106-a00b-833a434b1421 + id: default + type: organization + links: + self: http://localhost:3000/api/v1/entities/admin/organizations/default diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml new file mode 100644 index 000000000..7fd44e4b5 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_invalid.yaml @@ -0,0 +1,496 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml new file mode 100644 index 000000000..ebb59b787 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_update_workspace_valid.yaml @@ -0,0 +1,962 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west + body: + data: + id: demo_west + type: workspace + attributes: + name: Test + relationships: + parent: + data: + id: demo + type: workspace + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Test + id: demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: Test + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Test + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Test + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Test + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + - request: + method: PUT + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west + body: + data: + id: demo_west + type: workspace + attributes: + name: Demo West + relationships: + parent: + data: + id: demo + type: workspace + headers: + Accept: + - application/vnd.gooddata.api+json + Content-Type: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + attributes: + name: Demo West + id: demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west?include=workspaces diff --git a/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml new file mode 100644 index 000000000..c1a421f23 --- /dev/null +++ b/gooddata-sdk/tests/catalog/fixtures/workspaces/demo_workspace_list.yaml @@ -0,0 +1,118 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + body: null + headers: + Accept: + - application/vnd.gooddata.api+json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/vnd.gooddata.api+json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + data: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + relationships: + parent: + data: + id: demo + type: workspace + type: workspace + - attributes: + name: Demo West California + id: demo_west_california + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west_california + relationships: + parent: + data: + id: demo_west + type: workspace + type: workspace + included: + - attributes: + name: Demo + id: demo + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo + type: workspace + - attributes: + name: Demo West + id: demo_west + links: + self: http://localhost:3000/api/v1/entities/workspaces/demo_west + type: workspace + links: + self: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=0&size=500 + next: http://localhost:3000/api/v1/entities/workspaces?include=workspaces&page=1&size=500 diff --git a/gooddata-sdk/tests/support/fixtures/is_available.yaml b/gooddata-sdk/tests/support/fixtures/is_available.yaml new file mode 100644 index 000000000..009b8e128 --- /dev/null +++ b/gooddata-sdk/tests/support/fixtures/is_available.yaml @@ -0,0 +1,77 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/options + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + options: + description: Options resources + links: + availableDrivers: /api/v1/options/availableDrivers diff --git a/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml b/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml new file mode 100644 index 000000000..009b8e128 --- /dev/null +++ b/gooddata-sdk/tests/support/fixtures/wait_till_available_no_wait.yaml @@ -0,0 +1,77 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: GET + uri: http://localhost:3000/api/v1/options + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: '' + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Server: + - nginx + Set-Cookie: + - SPRING_SEC_SECURITY_CONTEXT=; Max-Age=0; Expires=Thu, 01-Jan-1970 00:00:10 + GMT; Path=/; HttpOnly + Transfer-Encoding: + - chunked + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-Frame-Options: + - DENY + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1; mode=block + body: + string: + options: + description: Options resources + links: + availableDrivers: /api/v1/options/availableDrivers diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml b/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml new file mode 100644 index 000000000..a7c83844f --- /dev/null +++ b/gooddata-sdk/tests/table/fixtures/table_with_attribute_and_metric.yaml @@ -0,0 +1,235 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: attr1 + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: metric1 + resultSpec: + dimensions: + - itemIdentifiers: + - attr1 + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '530' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: attr1 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: metric1 + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 3124eeaf3fa3d3551b3a568c2268045faef1d4e2 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/3124eeaf3fa3d3551b3a568c2268045faef1d4e2?offset=0%2C0&limit=512%2C256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '626' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 98425.2 + - - 56710.83 + - - 228392.39 + - - 18.7 + - - 132511.22 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + grandTotals: [] + paging: + count: + - 5 + - 1 + offset: + - 0 + - 0 + total: + - 5 + - 1 diff --git a/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml b/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml new file mode 100644 index 000000000..335f3c8d8 --- /dev/null +++ b/gooddata-sdk/tests/table/fixtures/table_with_attribute_metric_and_filter.yaml @@ -0,0 +1,230 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: attr1 + filters: + - positiveAttributeFilter: + in: + values: + - Unknown + - Northeast + label: + localIdentifier: attr1 + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: metric1 + resultSpec: + dimensions: + - itemIdentifiers: + - attr1 + localIdentifier: dim_0 + - itemIdentifiers: + - measureGroup + localIdentifier: dim_1 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '530' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: attr1 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + - headers: + - measureGroupHeaders: + - localIdentifier: metric1 + format: $#,##0 + name: Order Amount + localIdentifier: dim_1 + links: + executionResult: 4b5d90188fca13179382c588a407e8795415da4d + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/4b5d90188fca13179382c588a407e8795415da4d?offset=0%2C0&limit=512%2C256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '377' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - - 56710.83 + - - 18.7 + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + grandTotals: [] + paging: + count: + - 2 + - 1 + offset: + - 0 + - 0 + total: + - 2 + - 1 diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml b/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml new file mode 100644 index 000000000..c29afd3a9 --- /dev/null +++ b/gooddata-sdk/tests/table/fixtures/table_with_just_attribute.yaml @@ -0,0 +1,205 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: + - label: + identifier: + id: region + type: label + localIdentifier: attr1 + filters: [] + measures: [] + resultSpec: + dimensions: + - itemIdentifiers: + - attr1 + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '394' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - attributeHeader: + localIdentifier: attr1 + label: + id: region + type: label + labelName: Region + attribute: + id: region + type: attribute + attributeName: Region + granularity: null + primaryLabel: + id: region + type: label + localIdentifier: dim_0 + links: + executionResult: c5694843c094994525fc26a85924643d551f072b + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/c5694843c094994525fc26a85924643d551f072b?offset=0&limit=512 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '499' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: [] + dimensionHeaders: + - headerGroups: + - headers: + - attributeHeader: + labelValue: Midwest + primaryLabelValue: Midwest + - attributeHeader: + labelValue: Northeast + primaryLabelValue: Northeast + - attributeHeader: + labelValue: South + primaryLabelValue: South + - attributeHeader: + labelValue: Unknown + primaryLabelValue: Unknown + - attributeHeader: + labelValue: West + primaryLabelValue: West + grandTotals: [] + paging: + count: + - 5 + offset: + - 0 + total: + - 5 diff --git a/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml b/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml new file mode 100644 index 000000000..937763831 --- /dev/null +++ b/gooddata-sdk/tests/table/fixtures/table_with_just_metric.yaml @@ -0,0 +1,187 @@ +# (C) 2022 GoodData Corporation +version: 1 +interactions: + - request: + method: POST + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute + body: + execution: + attributes: [] + filters: [] + measures: + - definition: + measure: + item: + identifier: + id: order_amount + type: metric + computeRatio: false + filters: [] + localIdentifier: metric1 + resultSpec: + dimensions: + - itemIdentifiers: + - measureGroup + localIdentifier: dim_0 + headers: + Accept: + - application/json + Content-Type: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '245' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: &id001 + - PLACEHOLDER + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + executionResponse: + dimensions: + - headers: + - measureGroupHeaders: + - localIdentifier: metric1 + format: $#,##0 + name: Order Amount + localIdentifier: dim_0 + links: + executionResult: 00376e2747a01799cbc9a961bb4f15ae5376b040 + - request: + method: GET + uri: http://localhost:3000/api/v1/actions/workspaces/demo/execution/afm/execute/result/00376e2747a01799cbc9a961bb4f15ae5376b040?offset=0&limit=256 + body: null + headers: + Accept: + - application/json + X-GDC-VALIDATE-RELATIONS: + - 'true' + X-Requested-With: + - XMLHttpRequest + response: + status: + code: 200 + message: OK + headers: + Access-Control-Allow-Credentials: + - 'true' + Access-Control-Expose-Headers: + - Content-Disposition, Content-Length, Content-Range, Set-Cookie + Cache-Control: + - no-cache, no-store, max-age=0, must-revalidate + Connection: + - keep-alive + Content-Length: + - '176' + Content-Security-Policy: + - 'default-src ''self'' *.wistia.com *.wistia.net; script-src ''self'' ''unsafe-inline'' + ''unsafe-eval'' *.wistia.com *.wistia.net src.litix.io matomo.anywhere.gooddata.com + code.jquery.com unpkg.com cdn.jsdelivr.net cdnjs.cloudflare.com; img-src + ''self'' data: blob: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net + privacy-policy.truste.com www.gooddata.com; style-src ''self'' ''unsafe-inline'' + fonts.googleapis.com cdn.jsdelivr.net fast.fonts.net; font-src ''self'' + data: fonts.gstatic.com *.alicdn.com *.wistia.com cdn.jsdelivr.net info.gooddata.com; + frame-src ''self''; object-src ''none''; worker-src ''self'' blob:; child-src + blob:; connect-src ''self'' *.tiles.mapbox.com *.mapbox.com *.litix.io + *.wistia.com embedwistia-a.akamaihd.net matomo.anywhere.gooddata.com; + media-src ''self'' blob: data: *.wistia.com *.wistia.net embedwistia-a.akamaihd.net' + Content-Type: + - application/json + Date: *id001 + Expires: + - '0' + GoodData-Deployment: + - aio + Permission-Policy: + - geolocation 'none'; midi 'none'; sync-xhr 'none'; microphone 'none'; camera + 'none'; magnetometer 'none'; gyroscope 'none'; fullscreen 'none'; payment + 'none'; + Pragma: + - no-cache + Referrer-Policy: + - no-referrer + Server: + - nginx + Set-Cookie: + - SPRING_REDIRECT_URI=; Path=/; Max-Age=0; Expires=Thu, 01 Jan 1970 00:00:00 + GMT; HttpOnly; SameSite=Lax + Vary: + - Origin + - Access-Control-Request-Method + - Access-Control-Request-Headers + X-Content-Type-Options: + - nosniff + X-GDC-TRACE-ID: *id001 + X-XSS-Protection: + - 1 ; mode=block + body: + string: + data: + - 516058.34 + dimensionHeaders: + - headerGroups: + - headers: + - measureHeader: + measureIndex: 0 + grandTotals: [] + paging: + count: + - 1 + offset: + - 0 + total: + - 1